Android 如何使元素填充什么';布局的左边是什么

Android 如何使元素填充什么';布局的左边是什么,android,layout,coding-style,Android,Layout,Coding Style,到目前为止,我有以下布局代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent

到目前为止,我有以下布局代码:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="48dip"
        android:background="#FFFFFF" >

        <ImageView
            android:layout_weight="1"
            android:layout_width="40dip"
            android:layout_height="40dip"
            android:layout_gravity="center_vertical"
            android:src="@drawable/icon" />

        <TextView
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:text="text" />

        <TextView
            android:layout_weight="1"
            android:layout_width="40dip"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:text="text" />

    </LinearLayout>

</LinearLayout>

当人们有这样一个布局,中间的文本视图应该填充布局的剩余部分时,他们会怎么做?这里我有一个40度宽的图像视图和一个40度宽的文本视图。所以我试图让中间的文本视图填充剩下的内容。上面的代码是我能得到的。我得到了中间的文本视图来填充剩下的内容,还有一些额外的内容——将左边的ImageView设置为小于我设置的40度

我在这里干什么?在Android中布局并不容易


我想做的是创建一个看起来像市场上的列表的列表。左边有一个图标,中间有两行文本,右边是额外的信息。有没有关于如何实现这一点的示例?

我认为以下布局将满足您的需求:

<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1">   

<TableRow android:layout_width="fill_parent">

    <ImageView android:src="@drawable/icon" />

    <TextView
        android:padding="3dip"
        android:gravity="left"
        android:text="Stretched text"
        />

    <TextView
        android:padding="3dip"
        android:gravity="left"
        android:text="LeftOver"
        />  
</TableRow>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="48dip"
    android:background="#dddddd" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:src="@drawable/icon" />

        <TextView
            android:layout_weight="1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:text="Stretched Text" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:text="text" />

</LinearLayout>

如果要继续使用线性布局,则需要使用重力特性。以下内容也将满足您的需求:

<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1">   

<TableRow android:layout_width="fill_parent">

    <ImageView android:src="@drawable/icon" />

    <TextView
        android:padding="3dip"
        android:gravity="left"
        android:text="Stretched text"
        />

    <TextView
        android:padding="3dip"
        android:gravity="left"
        android:text="LeftOver"
        />  
</TableRow>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="48dip"
    android:background="#dddddd" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:src="@drawable/icon" />

        <TextView
            android:layout_weight="1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:text="Stretched Text" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:text="text" />

</LinearLayout>


另外,请查看一些布局示例。

我认为以下布局将满足您的需要:

<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1">   

<TableRow android:layout_width="fill_parent">

    <ImageView android:src="@drawable/icon" />

    <TextView
        android:padding="3dip"
        android:gravity="left"
        android:text="Stretched text"
        />

    <TextView
        android:padding="3dip"
        android:gravity="left"
        android:text="LeftOver"
        />  
</TableRow>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="48dip"
    android:background="#dddddd" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:src="@drawable/icon" />

        <TextView
            android:layout_weight="1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:text="Stretched Text" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:text="text" />

</LinearLayout>

如果要继续使用线性布局,则需要使用重力特性。以下内容也将满足您的需求:

<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1">   

<TableRow android:layout_width="fill_parent">

    <ImageView android:src="@drawable/icon" />

    <TextView
        android:padding="3dip"
        android:gravity="left"
        android:text="Stretched text"
        />

    <TextView
        android:padding="3dip"
        android:gravity="left"
        android:text="LeftOver"
        />  
</TableRow>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="48dip"
    android:background="#dddddd" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:src="@drawable/icon" />

        <TextView
            android:layout_weight="1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:text="Stretched Text" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:text="text" />

</LinearLayout>


另外,请查看一些布局示例。

Thanx!我现在明白诀窍了。仅在应拉伸的图元上设置布局权重。这三种元素我都有,谢谢!我现在明白诀窍了。仅在应拉伸的图元上设置布局权重。这三个元素我都有。