创建双Fragment布局
创建别名资源
res/values/refs.xml
<resources>
<item
name="activity_masterdetail"
type="layput">@layout_activity_fragment
</item>
</resources>
BaseAcitvity
public abstract class SingleFragmentActivity extends AppCompatActivity{
protected abstract Fragment createFragment();
@LayoutRes
protected int getLayoutResId(){
return R.layout.activity_masterdetail;
}
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(getLayoutResId());
FragmentManager fm=getSupportFragmentManager();
Fragment fragment =fm.findFragmentById(R.id.fragment_container);
if(fragment==null){
fragment=createFragment();
fm.beginTransaction()
.add(R.id.fragment_container,fragment).commit();
}
}
}
布局 setContentView(R.layout.activity_masterdetail);
为大屏设备设置双面板布局
res/values-sw600dp/refs.xml
<resources>
<item
name="activity_masterdetail"
type="layput">@layout_activity_twopane
</item>
</resources>
最终小屏幕就会显示单个布局,大屏幕就会显示双布局
判断是小屏幕布局还是大屏幕布局可以检查布局ID。
屏幕大小修饰符
名称 | 最低屏幕大小 |
---|---|
small | 320X426dp |
normal | 320X470dp |
large | 480X640dp |
xlarge | 720X960dp |
独立的屏幕尺寸修饰符
修饰符 | 描述 |
---|---|
wXXXdp | 有效宽度:宽度大于或等于XXXdp |
hXXXdp | 有效高度:高度大于或等于XXXdp |
swXXXdp | 最小宽度:高或宽中最小的那个大于或等于XXXdp |