适当的布局解决方案 - android

时间:2015-01-04 10:49:39

标签: android android-linearlayout

你好我想要一个看起来像http://developer.android.com/images/training/layout-listitem.png的布局而不是左边的图像视图我想要一个右边的按钮。但我的按钮是在文本视图不坚持右边后。我正在寻找其他解决方案,但没有任何帮助我。这就是我所拥有的。

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="#000000"
            android:textSize="12pt"
            android:id="@+id/view_to" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="#000000"
            android:textSize="8pt"
            android:id="@+id/view_what" />

    </LinearLayout>

    <LinearLayout
        android:orientation="vertical"
        android:layout_gravity="right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">


        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:text="@string/b_send"
            android:id="@+id/b_send" />

    </LinearLayout>

</LinearLayout>

提前谢谢。

2 个答案:

答案 0 :(得分:1)

使用RelativeLayout。使用Buttonandroid:layout_alignParentRight="true"绑定到布局的右侧。保存TextViews的布局必须包含android:layout_width="match_parent"android:layout_toLeftOf="@id/<id-of-the-Button>",其中必须替换为Button的ID。

答案 1 :(得分:0)

试试这个:

LinearLayout1 - android:layout_weight =&#34; 3&#34; (它将占用大约75%的空间),

LinearLayout2 - android:layout_weight =&#34; 1&#34; (它将占用大约25%的空间),

并将Button设置为layout_width,将layout_height设置为&#34; fill_parent&#34; - 这将使按钮占据LinearLayout2中的所有空间。

如果您需要按钮在水平方向上占用更多或更少的空间,您可以在LinearLayout1中更改layout_weight。

这是我的xml文件示例:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp">


<LinearLayout
    android:orientation="vertical"
    android:id="@+id/LinearLayout1"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_weight="3">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#999999"
        android:layout_margin="5dp"
        android:textSize="20sp"
        android:layout_weight="1"
        android:text="New Text"
        android:id="@+id/textView" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#777777"
        android:layout_margin="5dp"
        android:textSize="20sp"
        android:layout_weight="1"
        android:text="New Text"
        android:id="@+id/textView2" />
</LinearLayout>

<LinearLayout
    android:orientation="vertical"
    android:id="@+id/LinearLayout2"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_weight="1">

<Button
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ff6633"
    android:layout_margin="5dp"
    android:layout_weight="1"
    android:text="Button"
    android:id="@+id/button" />
</LinearLayout>

结果是:

LinearLayout