我在我的android项目中创建了一个xml布局,但它并不适合所有屏幕。 有没有办法让它适合所有的屏幕?
以下是布局内容:
<TableLayout android:id="@+id/tableLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<TableRow android:id="@+id/tableRow1" android:layout_width="100dp" android:layout_height="100dp">
<ImageButton android:src="@drawable/unlock" android:layout_width="100dp" android:layout_height="100dp" android:id="@+id/imageButton1"></ImageButton>
<ImageButton android:src="@drawable/lockicon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton3"></ImageButton>
<ImageButton android:src="@drawable/lockicon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton4"></ImageButton>
<ImageButton android:src="@drawable/lockicon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton6"></ImageButton>
<ImageButton android:src="@drawable/lockicon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton7"></ImageButton>
</TableRow>
<TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageButton android:layout_width="wrap_content" android:id="@+id/imageButton2" android:src="@drawable/lockicon" android:layout_height="wrap_content"></ImageButton>
<ImageButton android:src="@drawable/lockicon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton5"></ImageButton>
<ImageButton android:src="@drawable/lockicon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton8"></ImageButton>
<ImageButton android:src="@drawable/lockicon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton9"></ImageButton>
<ImageButton android:src="@drawable/lockicon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton10"></ImageButton>
</TableRow>
<TableRow android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageButton android:src="@drawable/lockicon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton11"></ImageButton>
<ImageButton android:src="@drawable/lockicon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton12"></ImageButton>
<ImageButton android:src="@drawable/lockicon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton13"></ImageButton>
<ImageButton android:src="@drawable/lockicon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton14"></ImageButton>
<ImageButton android:src="@drawable/lockicon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageButton15"></ImageButton>
</TableRow>
</TableLayout>
答案 0 :(得分:0)
在TableLayout
使用android:layout_weightSum
然后在3个孩子中,指定所需的权重。
问题是,您的第一个孩子的持续测量值为100dp。因此,这不适用于所有屏幕尺寸,因为它们正在改变,而您的测量规格则不然。
答案 1 :(得分:0)
尝试为所有行设置TableRow
到match_parent
的宽度。还要为所有ImageButton
组件添加权重。
答案 2 :(得分:0)
// try this way
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp">
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton1"/>
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton3"/>
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton4"/>
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton6"/>
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton7"/>
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp">
<ImageButton
android:id="@+id/imageButton2"
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton5"/>
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton8"/>
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton9"/>
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton10"/>
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp">
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton11"/>
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton12"/>
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton13"/>
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton14"/>
<ImageButton
android:src="@drawable/ic_launcher"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:id="@+id/imageButton15"/>
</TableRow>
</TableLayout>