私は異なるスクリーンサイズとデバイスに異なるレイアウトを使用します。特定のレイアウトフォルダでフラグメントを使用します。 大画面のタブレットとデバイスのコンセプトは、レイアウトファイルを layout-sw600dpに置き、Androidはさまざまなデバイスで適切なレイアウトを配信するよう管理しています。Androidのさまざまなレイアウトに異なるプログラミングロジックを分ける最善の方法は何ですか?
どのようなバグですか?コード内でどのようなレイアウトが使用されているかを知るにはどうすればよいですか。 私の断片には、さまざまなレイアウトのコードが少し異なります。
一般的に、私のフラグメント/アクティビティ内でカスタムレイアウトプログラミングロジックを分離するベストプラクティスは何ですか?
私のアプローチは今やハッキーであり、さまざまなレイアウトフォルダと同期していません。
private boolean isTabletDevice() {
if (android.os.Build.VERSION.SDK_INT >= 11) { // honeycomb
// test screen size, use reflection because isLayoutSizeAtLeast is
// only available since 11
Configuration con = getResources().getConfiguration();
try {
Method mIsLayoutSizeAtLeast = con.getClass().getMethod("isLayoutSizeAtLeast", int.class);
Boolean r = (Boolean) mIsLayoutSizeAtLeast.invoke(con, 0x00000004); // Configuration.SCREENLAYOUT_SIZE_XLARGE
return r;
} catch (Exception x) {
x.printStackTrace();
return false;
}
}
return false;
}
、その後
if(isTabletDevice()) {
//findViewById(R.id.onlyInTabletLayoutButton);
}else{
//
}