我有一个片段,其中包含12个CheckBoxes,左侧6个,右侧6个。 在具有Android 8.1的Moto E5中,就像在预览窗口中的Android Studio中一样,看起来(调试)正常。
现在,我刚刚安装到另一部手机,带有Android 5.0.2的LG G2和右侧的CheckBoxes出现在左侧。 那些复选框是RTL,左边的不是。
期望
错误
可能是什么问题?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/filtroEventos"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".FiltroEventos">
<CheckBox
android:id="@+id/filtro1_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginTop="10dp"
android:text="Disp." />
<CheckBox
android:id="@+id/filtro1_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="45dp"
android:text="Disp." />
<CheckBox
android:id="@+id/filtro1_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="80dp"
android:text="Disp." />
<CheckBox
android:id="@+id/filtro1_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/filtro1_3"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="115dp"
android:text="Entr." />
<CheckBox
android:id="@+id/filtro1_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/filtro1_4"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="150dp"
android:text="Evento" />
<CheckBox
android:id="@+id/filtro1_6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/filtro1_5"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="185dp"
android:text="Evento" />
<CheckBox
android:id="@+id/filtro3_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginStart="183dp"
android:layout_marginTop="10dp"
android:layout_marginRight="100dp"
android:layoutDirection="rtl"
android:text="Rest." />
<CheckBox
android:id="@+id/filtro3_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginStart="183dp"
android:layout_marginTop="45dp"
android:layoutDirection="rtl"
android:text="Rest." />
<CheckBox
android:id="@+id/filtro3_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="183dp"
android:layout_marginTop="77dp"
android:layoutDirection="rtl"
android:text="Rest." />
<CheckBox
android:id="@+id/filtro3_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/filtro1_3"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="192dp"
android:layout_marginTop="113dp"
android:layoutDirection="rtl"
android:text="Sal." />
<CheckBox
android:id="@+id/filtro3_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/filtro1_4"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="183dp"
android:layout_marginTop="147dp"
android:layoutDirection="rtl"
android:text="Rest." />
<CheckBox
android:id="@+id/filtro3_6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/filtro1_5"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="183dp"
android:layout_marginTop="182dp"
android:layoutDirection="rtl"
android:text="Rest." />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="103dp"
android:layout_marginTop="17dp"
android:text="Alarmas" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="93dp"
android:layout_marginTop="52dp"
android:text="Supervision" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="94dp"
android:layout_marginTop="87dp"
android:text="Problemas" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="102dp"
android:layout_marginTop="122dp"
android:text="Accesos" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="103dp"
android:layout_marginTop="157dp"
android:text="Sistema" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="114dp"
android:layout_marginTop="192dp"
android:text="Test" />
<View
android:layout_width="7dp"
android:layout_height="220dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_gravity="center"
android:layout_marginStart="80dp"
android:layout_marginTop="0dp"
android:background="#FF0F28B4" />
<View
android:layout_width="7dp"
android:layout_height="220dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_gravity="center"
android:layout_marginStart="171dp"
android:layout_marginTop="0dp"
android:background="#0F28B4" />
</RelativeLayout>
答案 0 :(得分:0)
问题不在于Android版本,而是与屏幕密度有关。因此解决方案是创建一个dimens资源文件,为每个屏幕密度指定marginStart和marginTop。
答案 1 :(得分:0)
问题不适用于特定的Android版本。 如果要使用,请参考下面的代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/filtroEventos"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/firstRelativeLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox
android:id="@+id/filtro1_1"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:text="Disp." />
<CheckBox
android:id="@+id/filtro1_2"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_below="@+id/filtro1_1"
android:text="Disp." />
<CheckBox
android:id="@+id/filtro1_3"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_below="@+id/filtro1_2"
android:text="Disp." />
<CheckBox
android:id="@+id/filtro1_4"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_below="@+id/filtro1_3"
android:text="Entr." />
<CheckBox
android:id="@+id/filtro1_5"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_below="@+id/filtro1_4"
android:text="Evento" />
<CheckBox
android:id="@+id/filtro1_6"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_below="@+id/filtro1_5"
android:text="Evento" />
</RelativeLayout>
<View
android:id="@+id/firstView"
android:layout_width="7dp"
android:layout_height="180dp"
android:layout_marginStart="5dp"
android:layout_toEndOf="@+id/firstRelativeLayout"
android:background="#FF0F28B4" />
<RelativeLayout
android:id="@+id/secondRelativeLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_toEndOf="@+id/firstView">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:text="Alarmas" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_below="@+id/textView1"
android:text="Supervision" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_below="@+id/textView2"
android:text="Problemas" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_below="@+id/textView3"
android:text="Accesos" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_below="@+id/textView4"
android:text="Sistema" />
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_below="@+id/textView5"
android:text="Test" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/thirdRelativeLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_toEndOf="@+id/secondView">
<CheckBox
android:id="@+id/filtro3_1"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layoutDirection="rtl"
android:text="Rest." />
<CheckBox
android:id="@+id/filtro3_2"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layoutDirection="rtl"
android:layout_below="@+id/filtro3_1"
android:text="Rest." />
<CheckBox
android:id="@+id/filtro3_3"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layoutDirection="rtl"
android:layout_below="@+id/filtro3_2"
android:text="Rest." />
<CheckBox
android:id="@+id/filtro3_4"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layoutDirection="rtl"
android:layout_below="@+id/filtro3_3"
android:text="Sal." />
<CheckBox
android:id="@+id/filtro3_5"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layoutDirection="rtl"
android:layout_below="@+id/filtro3_4"
android:text="Rest." />
<CheckBox
android:id="@+id/filtro3_6"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layoutDirection="rtl"
android:layout_below="@+id/filtro3_5"
android:text="Rest." />
</RelativeLayout>
<View
android:id="@+id/secondView"
android:layout_width="7dp"
android:layout_height="180dp"
android:layout_marginStart="10dp"
android:layout_toEndOf="@+id/secondRelativeLayout"
android:background="#0F28B4" />
</RelativeLayout>
答案 2 :(得分:0)
要正确实现布局,请尝试将LinearLayout
与weight
请尝试以下代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<LinearLayout
android:layout_weight=".34"
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_weight=".17"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center_vertical">
<CheckBox
android:id="@+id/filtro1_1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Disp."/>
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center_vertical">
<CheckBox
android:id="@+id/filtro1_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Disp." />
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center_vertical">
<CheckBox
android:id="@+id/filtro1_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Disp." />
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center_vertical">
<CheckBox
android:id="@+id/filtro1_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Entr." />
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center_vertical">
<CheckBox
android:id="@+id/filtro1_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Evento" />
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center_vertical">
<CheckBox
android:id="@+id/filtro1_6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Evento" />
</LinearLayout>
</LinearLayout>
<View
android:layout_weight=".01"
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="#FF0F28B4" />
<LinearLayout
android:layout_weight=".3"
android:layout_width="0dp"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_weight=".17"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Alarmas"/>
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Supervision" />
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center">
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Problems" />
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center">
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Accesos" />
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center">
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sistema" />
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center">
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Test" />
</LinearLayout>
</LinearLayout>
<View
android:layout_weight=".01"
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="#FF0F28B4" />
<LinearLayout
android:layout_weight=".34"
android:layout_width="0dp"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_vertical|right">
<LinearLayout
android:layout_weight=".17"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center_vertical|right">
<CheckBox
android:id="@+id/filtro3_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layoutDirection="rtl"
android:text="Rest." />
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center_vertical|right">
<CheckBox
android:id="@+id/filtro3_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layoutDirection="rtl"
android:text="Rest." />
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center_vertical|right">
<CheckBox
android:id="@+id/filtro3_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layoutDirection="rtl"
android:text="Rest." />
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center_vertical|right">
<CheckBox
android:id="@+id/filtro3_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layoutDirection="rtl"
android:text="Sal." />
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center_vertical|right">
<CheckBox
android:id="@+id/filtro3_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layoutDirection="rtl"
android:text="Rest." />
</LinearLayout>
<LinearLayout
android:layout_weight=".16"
android:layout_width="match_parent"
android:layout_height="0dp"
android:gravity="center_vertical|right">
<CheckBox
android:id="@+id/filtro3_6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layoutDirection="rtl"
android:text="Rest." />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
以上代码的输出为:
希望它对您有用。