我有一个非常简单的xml文件。 6个edittexts是他们自己。 当我旋转手机时,它们重叠。 我有6个edittext 1)基本的editttext 2)datepicker 3)timepicker 4)timepicker 5)基本的edittext 6)基本编辑文本
我该如何解决这个问题?
代码如下。非常感谢 !
<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.background.finalbudyfinder.CreateCinemaActivity" >
<EditText
android:id="@+id/editcinematitel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="22dp"
android:ems="10"
android:imeOptions="actionDone"
android:hint="Titel"
android:inputType="textPersonName"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/starttime" />
<EditText
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusableInTouchMode="false"
android:hint="Date"
android:layout_marginTop="26dp"
android:ems="10"
android:padding="15dp"
android:layout_below="@+id/editcinematitel"
android:layout_alignStart="@+id/editcinematitel" />
<EditText
android:id="@+id/starttime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusableInTouchMode="false"
android:layout_marginTop="24dp"
android:ems="10"
android:hint="Start-Zeit"
android:layout_below="@+id/date"
android:layout_centerHorizontal="true" />
<EditText
android:id="@+id/endtime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusableInTouchMode="false"
android:ems="10"
android:hint="End-Zeit"
android:layout_centerVertical="true"
android:layout_alignStart="@+id/starttime" />
<EditText
android:id="@+id/editcinemaort"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Ort"
android:inputType="textPersonName"
android:layout_below="@+id/endtime"
android:layout_alignStart="@+id/endtime"
android:layout_marginTop="27dp" />
<!-- <EditText
android:id="@+id/editcinemaendzeit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Description"
android:inputType="textPersonName"
android:layout_above="@+id/buttoncreatecinema"
android:layout_alignStart="@+id/editcinemaort"
android:layout_marginBottom="26dp" />
<EditText
android:id="@+id/editcinemastartzeit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="119dp"
android:ems="10"
android:hint="Start-Zeit"
android:layout_below="@+id/editcinematitel"
android:layout_centerHorizontal="true" />
<EditText
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Select Date..."
android:padding="15dp"
android:textColor="#897"
android:textColorHint="#090"
android:textSize="20sp"
android:textStyle="bold"
android:layout_marginBottom="25dp"
android:layout_alignBottom="@+id/editcinemastartzeit"
android:layout_centerHorizontal="true" /> -->
<EditText
android:id="@+id/editcinemadescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Description"
android:inputType="textPersonName"
android:layout_above="@+id/buttoncreatecinema"
android:layout_alignStart="@+id/editcinemaort"
android:layout_marginBottom="26dp" />
<Button
android:id="@+id/buttoncreatecinema"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="27dp"
android:text="Create" />
</RelativeLayout>
答案 0 :(得分:1)
为什么使用相对布局? 只需使用线性布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation ="vertical"
tools:context="com.background.finalbudyfinder.CreateCinemaActivity" >
<EditText
android:id="@+id/editcinematitel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="22dp"
android:ems="10"
android:imeOptions="actionDone"
android:hint="Titel"
android:inputType="textPersonName"
android:layout_alignStart="@+id/starttime" />
<EditText
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusableInTouchMode="false"
android:hint="Date"
android:layout_marginTop="26dp"
android:ems="10"
android:padding="15dp"
android:layout_alignStart="@+id/editcinematitel" />
<EditText
android:id="@+id/starttime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusableInTouchMode="false"
android:layout_marginTop="24dp"
android:ems="10"
android:hint="Start-Zeit"
/>
<EditText
android:id="@+id/endtime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusableInTouchMode="false"
android:ems="10"
android:hint="End-Zeit"
android:layout_alignStart="@+id/starttime" />
<EditText
android:id="@+id/editcinemaort"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Ort"
android:inputType="textPersonName"
android:layout_marginTop="27dp" />
<!-- <EditText
android:id="@+id/editcinemaendzeit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Description"
android:inputType="textPersonName"
android:layout_above="@+id/buttoncreatecinema"
android:layout_alignStart="@+id/editcinemaort"
android:layout_marginBottom="26dp" />
<EditText
android:id="@+id/editcinemastartzeit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="119dp"
android:ems="10"
android:hint="Start-Zeit"
android:layout_below="@+id/editcinematitel"
android:layout_centerHorizontal="true" />
<EditText
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Select Date..."
android:padding="15dp"
android:textColor="#897"
android:textColorHint="#090"
android:textSize="20sp"
android:textStyle="bold"
android:layout_marginBottom="25dp"
android:layout_alignBottom="@+id/editcinemastartzeit"
android:layout_centerHorizontal="true" /> -->
<EditText
android:id="@+id/editcinemadescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Description"
android:inputType="textPersonName"
android:layout_marginBottom="26dp" />
<Button
android:id="@+id/buttoncreatecinema"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="27dp"
android:text="Create" />
</LinearLayout>
希望这有助于你 如果你有任何问题,你可以问
答案 1 :(得分:1)
你应该做以下事情来解决它:
Element Instructions Branches Cxty Lines Methods
getEnv() 212 8% n/a 0 1 1 1 0 1
getBranch() 1840 68% 31 25% 2 3 0 3 0 1
getSlackChannel() 1840 68% 31 25% 2 3 0 3 0 1
Utilities() 14 0% n/a 1 1 0 0 1 1
createJob(Object) 1134 75% 35 62% 2 5 0 6 0 1
getTeamEmail() 24 66% n/a 0 1 0 1 0 1
Total 84 of 204 58% 9 of 16 43% 7 14 1 14 1 6
更改为android:layout_alignStart
android:layout_centerHorizontal="true"
EditText:endtime
而不是android:layout_below="@+id/starttime"
,然后您可以更改其上边距。 android:layout_centerVertical="true"
EditText作为editcinemadescription
。事实上,您需要endtime
。
答案 2 :(得分:1)
这里的问题是您已经定义了中心垂直属性的编辑文本“starttime”。因此,当您旋转屏幕时,由于没有足够的高度来容纳所有控件,因此它们相互重叠。如果删除该中心垂直属性并在下面指定布局,则可以。此外,您可能需要添加滚动视图控件才能处理横向模式。 还注意到您已为所有控件指定了中心水平对齐开始。而不是它你可以只为父相对布局指定android:gravity =“center”然后你可以摆脱所有子控件的alignstart属性。