如何针对不同的分辨率修复此 android 布局?
How can I fix this android layout for different resolutions?
布局图像:
http://s18.postimg.org/kihvabse1/Capture.jpg
上面给出的是我创建的android界面当我改变模拟器(phone模型)界面不会根据模型调整我select我该如何修复it.currently 我设计的 phone 分辨率为 1280x720。
XML代码:
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/scrollView" >
<GridLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/gridLayout"
android:layout_centerInParent="true">
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button"
android:layout_row="0"
android:layout_column="0"
android:layout_rowSpan="2"
android:layout_gravity="center_vertical|fill_vertical" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button2"
android:layout_row="0"
android:layout_column="1"
android:layout_gravity="center_vertical|fill_vertical"
android:layout_rowSpan="2" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button3"
android:layout_row="0"
android:layout_column="2"
android:layout_rowSpan="2"
android:layout_gravity="center_vertical|fill_vertical" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button4"
android:layout_row="3"
android:layout_column="0"
android:layout_rowSpan="2"
android:layout_gravity="fill_horizontal|center"
android:layout_columnSpan="2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button5"
android:layout_row="4"
android:layout_column="2"
android:layout_gravity="center_vertical|fill_vertical" />
<Button
android:layout_width="wrap_content"
android:layout_height="119dp"
android:text="New Button"
android:id="@+id/button6"
android:layout_row="6"
android:layout_column="0"
android:layout_gravity="center|fill" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button7"
android:layout_row="6"
android:layout_column="1"
android:layout_gravity="fill_horizontal|center"
android:layout_columnSpan="2" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button8"
android:layout_row="10"
android:layout_column="0"
android:layout_rowSpan="2"
android:layout_gravity="center_vertical|fill_vertical" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button9"
android:layout_row="10"
android:layout_column="1"
android:layout_rowSpan="1"
android:layout_gravity="center_vertical|fill_vertical" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button10"
android:layout_row="10"
android:layout_column="2"
android:layout_rowSpan="2"
android:layout_gravity="center_vertical|fill_vertical" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button11"
android:layout_row="12"
android:layout_column="0"
android:layout_rowSpan="2"
android:layout_gravity="fill_horizontal|center"
android:layout_columnSpan="2" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button12"
android:layout_row="13"
android:layout_column="2"
android:layout_gravity="center_vertical|fill_vertical" />
</GridLayout>
</ScrollView>
设置child的宽度
GridLayout.LayoutParams params = (GridLayout.LayoutParams) child.getLayoutParams();
params.width = (parent.getWidth()/parent.getColumnCount()) -params.rightMargin - params.leftMargin;
child.setLayoutParams(params);
布局图像:
http://s18.postimg.org/kihvabse1/Capture.jpg
上面给出的是我创建的android界面当我改变模拟器(phone模型)界面不会根据模型调整我select我该如何修复it.currently 我设计的 phone 分辨率为 1280x720。
XML代码:
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/scrollView" >
<GridLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/gridLayout"
android:layout_centerInParent="true">
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button"
android:layout_row="0"
android:layout_column="0"
android:layout_rowSpan="2"
android:layout_gravity="center_vertical|fill_vertical" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button2"
android:layout_row="0"
android:layout_column="1"
android:layout_gravity="center_vertical|fill_vertical"
android:layout_rowSpan="2" />
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button3"
android:layout_row="0"
android:layout_column="2"
android:layout_rowSpan="2"
android:layout_gravity="center_vertical|fill_vertical" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button4"
android:layout_row="3"
android:layout_column="0"
android:layout_rowSpan="2"
android:layout_gravity="fill_horizontal|center"
android:layout_columnSpan="2" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button5"
android:layout_row="4"
android:layout_column="2"
android:layout_gravity="center_vertical|fill_vertical" />
<Button
android:layout_width="wrap_content"
android:layout_height="119dp"
android:text="New Button"
android:id="@+id/button6"
android:layout_row="6"
android:layout_column="0"
android:layout_gravity="center|fill" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button7"
android:layout_row="6"
android:layout_column="1"
android:layout_gravity="fill_horizontal|center"
android:layout_columnSpan="2" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button8"
android:layout_row="10"
android:layout_column="0"
android:layout_rowSpan="2"
android:layout_gravity="center_vertical|fill_vertical" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button9"
android:layout_row="10"
android:layout_column="1"
android:layout_rowSpan="1"
android:layout_gravity="center_vertical|fill_vertical" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button10"
android:layout_row="10"
android:layout_column="2"
android:layout_rowSpan="2"
android:layout_gravity="center_vertical|fill_vertical" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button11"
android:layout_row="12"
android:layout_column="0"
android:layout_rowSpan="2"
android:layout_gravity="fill_horizontal|center"
android:layout_columnSpan="2" />
<Button
android:layout_width="wrap_content"
android:layout_height="120dp"
android:text="New Button"
android:id="@+id/button12"
android:layout_row="13"
android:layout_column="2"
android:layout_gravity="center_vertical|fill_vertical" />
</GridLayout>
</ScrollView>
设置child的宽度
GridLayout.LayoutParams params = (GridLayout.LayoutParams) child.getLayoutParams();
params.width = (parent.getWidth()/parent.getColumnCount()) -params.rightMargin - params.leftMargin;
child.setLayoutParams(params);