我有两个模拟的Genymotion设备:
我有一个位于layout-land资源文件夹中的对话框的xml布局文件。
在设备(A)上,布局会相应地显示为我的期望。在设备(B)上,未正确显示。布局的宽度被压缩,因此构成它的不同视图重叠。
两个设备中的布局不应完全相同,因为它们具有相同的尺寸?
编辑1:
这里要求的是导致问题的XML布局(见下图):
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:ctx=".SomeActivity"
android:id="@+id/parent_some_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fadingEdge="vertical"
android:fadingEdgeLength="1dp">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="15dp"
android:background="#ffe9edde"
>
<TextView
android:id="@+id/label_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:textColor="#ff851514"
android:text="Some text here"
android:gravity="center_vertical|left"
android:textSize="13sp"/>
<TextView
android:id="@+id/label_2"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:textColor="#ff851514"
android:text="Some more text"
android:gravity="center_vertical|left"
android:textSize="13sp"
android:layout_alignLeft="@+id/label_3"
android:layout_alignTop="@+id/label_4"/>
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radio_group_1"
android:orientation="horizontal"
android:layout_alignLeft="@+id/label_1"
android:layout_below="@+id/label_1"
android:layout_marginTop="15dp">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:id="@+id/radio_btn_option_1"
android:checked="true"
android:textColor="#000000"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
android:id="@+id/radio_btn_option_2"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="10dp"
android:checked="false"
android:textColor="#000000"/>
</RadioGroup>
<TextView
android:id="@+id/label_3"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:textColor="#ff851514"
android:text="Another label"
android:gravity="center_vertical|left"
android:textSize="13sp"
android:layout_alignLeft="@+id/label_1"
android:layout_marginTop="5dp"
android:layout_marginRight="5dp"
android:layout_below="@+id/radio_group_1"/>
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" BLA "
android:id="@+id/spinner_2"
android:layout_alignTop="@+id/label_3"
android:layout_toRightOf="@+id/label_3"/>
<TextView
android:id="@+id/label_4"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:textColor="#ff851514"
android:text="More Text"
android:gravity="center_vertical|left"
android:textSize="13sp"
android:layout_below="@+id/checkbox_1"
android:layout_alignLeft="@+id/label_5"
android:layout_marginTop="5dp"/>
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radioGroup"
android:orientation="horizontal"
android:layout_below="@+id/label_4"
android:layout_alignLeft="@+id/label_4">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
android:id="@+id/radio_btn_option_3"
android:checked="true"
android:textColor="#000000"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4"
android:id="@+id/radio_btn_option_4"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="10dp"
android:checked="false"
android:textColor="#000000"/>
</RadioGroup>
<TextView
android:id="@+id/label_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ff851514"
android:text="One more label"
android:gravity="center_vertical|left"
android:textSize="13sp"
android:layout_alignTop="@+id/label_1"
android:layout_alignLeft="@+id/checkbox_2"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Check 3"
android:id="@+id/checkbox_3"
android:textSize="13sp"
android:layout_alignParentRight="true"
android:textColor="#000000"
android:layout_alignTop="@+id/checkbox_2"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Check 2"
android:id="@+id/checkbox_2"
android:singleLine="false"
android:textSize="13sp"
android:layout_toLeftOf="@+id/checkbox_3"
android:layout_marginRight="5dp"
android:textColor="#000000"
android:checked="false"
android:layout_below="@+id/label_5"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Check 1"
android:id="@+id/checkbox_1"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_below="@+id/checkbox_2"
android:layout_alignLeft="@+id/checkbox_2"
android:textColor="#000000"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Check 4"
android:id="@+id/checkbox_4"
android:textSize="13sp"
android:layout_marginTop="5dp"
android:layout_below="@+id/checkbox_3"
android:layout_alignLeft="@+id/checkbox_3"
android:textColor="#000000"/>
<SeekBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/seekBar"
android:layout_alignBottom="@+id/radioGroup"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/spinner_2"
android:layout_alignEnd="@+id/spinner_2"/>
</RelativeLayout>
</ScrollView>
编辑2:
到目前为止,我唯一的解决方案是专门针对出现问题的设备定义维度。有谁知道更好的解决方案?