如何为每个屏幕尺寸创建兼容的布局?

时间:2017-03-09 11:38:30

标签: android android-layout android-studio android-activity

我正在尝试创建一个应用程序...但是当我用来在各种设备上测试我的应用程序时,该应用程序不会以全屏/相同的分辨率显示设备...

4 个答案:

答案 0 :(得分:0)

您可以使用ConstaintLayout制作自适应用户界面,您可以按照以下官方文档进行操作 https://developer.android.com/training/constraint-layout/index.html

另一个选项是PercentRelativeLayout https://developer.android.com/reference/android/support/percent/PercentRelativeLayout.html

对于3 * 3矩阵,您可以使用Tablelayout这样的

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="1">
        <TableRow>
            <TextView
                android:text="first" />
            <TextView
                android:text="second"
                android:gravity="center" />
            <TextView
                android:text="third"
                android:gravity="right" />
        </TableRow>

        <TableRow>
            <TextView
                android:text="first" />
            <TextView
                android:text="second"
                android:gravity="center" />
            <TextView
                android:text="third"
                android:gravity="right" />
        </TableRow>

        <TableRow>
            <TextView
                android:text="first" />
            <TextView
                android:text="second"
                android:gravity="center" />
            <TextView
                android:text="third"
                android:gravity="right"/>
        </TableRow>
    </TableLayout>

或者您可以将linearlayoutsweightSumlayout_weight组合使用

答案 1 :(得分:0)

使用Junaid建议的约束布局,否则请正确使用权重。

答案 2 :(得分:0)

将此库用于dp您无需为每个分辨率https://github.com/intuit/sdp

制作不同的布局
dependencies {
  compile 'com.intuit.sdp:sdp-android:1.0.4'
}
  

实施例

<LinearLayout
        android:id="@+id/give_us_a_review_landmine_main_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="vertical"
        android:paddingBottom="@dimen/_27sdp"
        android:paddingLeft="@dimen/_43sdp"
        android:paddingRight="@dimen/_43sdp"
        android:paddingTop="@dimen/_50sdp" />

答案 3 :(得分:0)

我正在以3 * 3矩阵形式添加Button(9个按钮)..有一些高度和高度但是当我尝试在不同屏幕尺寸的不同设备中运行应用程序时,我看到按钮没有调整到屏幕尺寸他们走出屏幕或缩小