根据屏幕大小来创建布局

来源:互联网 发布:360 卫士 for mac 编辑:程序博客网 时间:2024/06/17 04:51

创建双Fragment布局

twopane

创建别名资源

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
原创粉丝点击