android自适应屏幕

android xml的布局要自适应各种屏幕的话,需要使用opx布局,在app/res/values/styles.xml中增加如下的代码

  <!-- 全屏幕拉伸-->
    <style name="layout_full">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">fill_parent</item>
    </style>

    <!-- 固定自身大小-->
    <style name="layout_wrap">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
    </style>

    <!-- 横向分布-->
    <style name="layout_horizontal" parent="layout_full">
        <item name="android:layout_width">0px</item>
    </style>

    <!-- 纵向分布-->
    <style name="layout_vertical" parent="layout_full">
        <item name="android:layout_height">0px</item>
    </style>
并在main.xml中增加如下的代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/layout_full"
    android:orientation="vertical">
    <LinearLayout
        style="@style/layout_vertical"
        android:layout_weight="1"
        android:orientation="horizontal">
        <View
            style="@style/layout_horizontal"
            android:background="#aa0000"
            android:layout_weight="1"/>
        <View
            style="@style/layout_horizontal"
            android:background="#00aa00"
            android:layout_weight="4"/>
        <View
            style="@style/layout_horizontal"
            android:background="#0000aa"
            android:layout_weight="3"/>
        <View
            style="@style/layout_horizontal"
            android:background="#aaaaaa"
            android:layout_weight="2"/>
    </LinearLayout>
    <LinearLayout
        style="@style/layout_vertical"
        android:layout_weight="2"
        android:orientation="vertical">
        <View
            style="@style/layout_vertical"
            android:background="#ffffff"
            android:layout_weight="4"/>
        <View
            style="@style/layout_vertical"
            android:background="#aa0000"
            android:layout_weight="3"/>
        <View
            style="@style/layout_vertical"
            android:background="#00aa00"
            android:layout_weight="2"/>
        <View
            style="@style/layout_vertical"
            android:background="#0000aa"
            android:layout_weight="1"/>

    </LinearLayout>
</LinearLayout>
通过opx和weight来成比例地显示内容
【1】 4中必须知道的android屏幕自适应解决方案

posted @ 2017-04-16 08:38  开往春天的拖拉机  阅读(94)  评论(0编辑  收藏  举报