Android布局对齐Textview和复选框

时间:2013-11-23 12:14:01

标签: android xml android-layout gridview

我正在尝试连续显示一个文本框和复选框。但似乎并没有被分配。 gridview的元素也不是alligned。

My view in Android mobile

我的代码如下:

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

    <GridView
        android:id="@+id/gridView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:horizontalSpacing="10dp"
        android:numColumns="auto_fit"
        android:verticalSpacing="10dp" >
    </GridView>

</LinearLayout>

和gridview_row.xml的代码:

<?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/relativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/border"
    android:padding="5dp" >

    <LinearLayout
        android:id="@+id/layout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >

        <TextView
            android:id="@+id/textViewL"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="TextView"
            android:textSize="18sp" />

        <CheckBox
            android:id="@+id/checkBox1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right" />
    </LinearLayout>

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:layout_below="@+id/layout1"
        android:layout_centerHorizontal="true"
        android:src="@drawable/icon"
        tools:ignore="ContentDescription" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imageView1"
        android:layout_centerHorizontal="true"
        android:ellipsize="marquee"
        android:gravity="center"
        android:text="TextView"
        android:textSize="18sp" />

</RelativeLayout>

我希望将textview和复选框连成一行。 gridview的元素也必须是alligned。在这方面请帮助我。

3 个答案:

答案 0 :(得分:1)

试试这个。

以两种方式

android:gravity="center_vertical"TextView

提供CheckBox

然后LinearLayout高度固定为40dp

<LinearLayout
        android:id="@+id/layout1"
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >

        <TextView
            android:id="@+id/textViewL"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="TextView"
            android:gravity="center_vertical"
            android:textSize="18sp" />

        <CheckBox
            android:id="@+id/checkBox1"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center_vertical" />
    </LinearLayout>

然后是第二个

无需提供固定的

<LinearLayout
        android:id="@+id/layout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >

        <TextView
            android:id="@+id/textViewL"
            android:layout_width="0dip"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="TextView"
            android:gravity="center_vertical"
            android:textSize="18sp" />

        <CheckBox
            android:id="@+id/checkBox1"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center_vertical"
            android:gravity="right" />
    </LinearLayout>

对于GridView 对齐

使用android:singleLine="true"

<TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imageView1"
        android:layout_centerHorizontal="true"
        android:ellipsize="marquee"
        android:gravity="center"
        android:singleLine="true"
        android:text="TextView"
        android:textSize="18sp" />

答案 1 :(得分:0)

在textView

中使用android:gravity="center_vertical"

试试这个

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#00868B" >

    <LinearLayout
        android:id="@+id/layout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" >

        <TextView
            android:id="@+id/textViewL"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center_vertical"
            android:text="TextView"
            android:textSize="18sp" />

        <CheckBox
            android:id="@+id/checkBox1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right" />
    </LinearLayout>

</RelativeLayout>

答案 2 :(得分:0)

// try this way and let me know still you have any problem
<?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:id="@+id/lnrmain"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/border"
    android:gravity="center"
    android:orientation="vertical"
    android:padding="5dp" >

    <TextView
        android:id="@+id/textViewL"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="TextView"
        android:textSize="18sp" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right">
    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="right" />
    </LinearLayout>

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:src="@drawable/ic_launcher"
        tools:ignore="ContentDescription" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:gravity="center"
        android:text="TextView"
        android:layout_marginTop="5dp"
        android:textSize="18sp" />

</LinearLayout>