我对Android很新,并尝试做一个示例应用程序,其中3个元素(2个按钮和1个文本视图)水平放置。我需要文本位于中心,两个按钮在视图的左右对齐。
E.g。
|<Button> <Text> <Button>|
感谢您是否可以帮助我。
提前致谢
答案 0 :(得分:20)
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1">
<TableRow>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button1"
android:id="@+id/button1button"></Button>
<EditText
android:layout_height="wrap_content"
android:id="@+id/firstedittext"
android:layout_width="wrap_content"></EditText>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button2"
android:id="@+id/button2button"></Button>
</TableRow>
</TableLayout>
编辑:添加相对布局以查看它是否适合您,让我知道它是否有效。您需要调整“10px”以获得所需的距离。我看到是否有更好的方法来做到这一点,距离更加动态。
您可以使按钮“alignParentLeft”和“alignParentRight”使它们与屏幕的右侧和左侧对齐。但是,我仍然无法在两个视图之间获取文本。
您可以在xml文件中为布局执行此操作。使它成为水平布局并首先添加第一个按钮,然后是文本视图,然后是第二个按钮。稍后将发布xml作为示例。
<RelativeLayout
android:id="@+id/LinearLayout01"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button1"
android:layout_alignParentLeft="true"
android:layout_marginRight="10px"
android:id="@+id/button1button"></Button>
<EditText
android:layout_height="wrap_content"
android:id="@+id/firstedittext"
android:layout_toRightOf="@id/button1button"
android:layout_marginRight="10px"
android:layout_width="wrap_content"></EditText>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/firstedittext"
android:text="button2"
android:id="@+id/button2button"></Button>
</RelativeLayout>
答案 1 :(得分:19)
这样就可以了。你需要的是绝对的引力。这个也适用于所有Android屏幕尺寸。我认为你不需要使用任何边距或填充物,一旦你的孩子有内容,它们就会弄乱你(边缘在选择它们方面是相对的,也就是说:当你的文字较少时,你想要一个较小的边距。 ..在翻译,新功能,替换等过程中经常发生..)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button1"
android:layout_alignParentLeft="true"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/firstedittext"
android:layout_centerInParent="true"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button2"
android:layout_alignParentRight="true"/>
</RelativeLayout>
答案 2 :(得分:0)
这是我在LinearLayout上的代码。希望对你有帮助!
<?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="horizontal" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:text="Button1" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical" >
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ems="10"
android:text="Chao cac ban" >
<requestFocus />
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:text="Button2" />
</LinearLayout>
</LinearLayout>