我的片段活动中有EditText
和Button
。
我面临两个问题。
1)我无法将Button
放在EditText
的正下方。
这里是截图:
2)每当我在EditText
中粘贴冗长的文字时,按钮与文字重叠。请看截图。
这是我的XML:
<FrameLayout>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:text="@string/URL"
android:hint="@string/hint"
android:layout_marginTop="200dp"
android:layout_gravity="center_horizontal|top" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Track"
android:id="@+id/button"
android:layout_gravity="center"
/>
</FrameLayout>
如何解决问题。有什么帮助吗?
答案 0 :(得分:1)
使用RelativeLayout或LinearLayout而不是FrameLayout。 FrameLayout的目的是显示一个项。
答案 1 :(得分:1)
您可能需要考虑使用RelativeLayout而不是使用FrameLayout。然后,您可以执行以下操作:
对于EditText,请使用以下属性:
// This says the widget should be vertically and horizontally at the center of the container
android:layout_centerInParent="true"
对于Button,请使用以下属性:
android:layout_below:"@id/editText"
我提到的属性将取代
机器人:layout_gravity
您使用的小部件的
属性。
此外,EditText将丢失
机器人:layout_marginTop =&#34; 200dp&#34;
属性作为layout_centerInParent属性将自动居中。
答案 2 :(得分:1)
这是伪代码,但可以帮助您理解结构
<RelativeLayout>
<LinearLayout
orientation=vertical
centerInParent= true
>
<EditText/>
<Button/>
</LinearLayout>
</RelativeLayout>