0

我有一个 listView,list_item 左边有一个 ImageButton,一个 TextView 居中,右边有一个 ImageButton:

<?xml version="1.0" encoding="utf-8"?>    
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:orientation="vertical"
      android:gravity="center">
      <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:gravity="center">
        <ImageButton android:id="@+id/parkingState" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
           android:layout_marginTop="4dip" 
           android:layout_marginRight="4dip"
           android:layout_marginLeft="4dip"
           android:layout_gravity="center"
           android:background="@null"/>
        <LinearLayout 
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content" 
            android:orientation="vertical"
            android:gravity="center"> 
            <TextView android:id="@+id/LblSubTitle"
                android:gravity="center_horizontal"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textStyle="normal"
                android:textColor="#444444"
                android:textSize="12sp" /> 
        </LinearLayout>
        <ImageButton android:id="@+id/parking_details" 
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:gravity="center"
              android:layout_marginRight="4dip"
              android:layout_marginLeft="4dip"
              android:layout_marginTop="4dip"
              android:layout_marginBottom="4dip"
              android:background="@null"/>
      </LinearLayout>
</LinearLayout>

结果是:

在此处输入图像描述

但我想要左边和右边的图像。我怎样才能得到这个效果?

4

7 回答 7

1

使用 RelativeLayout 并使用 -

 <ImageButton android:id="@+id/parkingState" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="4dip" 
    android:layout_marginRight="4dip"
    android:layout_marginLeft="4dip"
    android:layout_gravity="center"
    android:background="@null"
    android:layout_alignParentLeft="true"/>

同样 alignParentRight=true 用于其他图像按钮。

于 2013-01-31T09:58:19.650 回答
1

在你的第一个线性布局中写“fill_parent”,如下所示:

<?xml version="1.0" encoding="utf-8"?>    
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
于 2013-01-31T09:59:02.093 回答
1
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="horizontal" >

    <ImageButton
        android:id="@+id/parkingState"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_gravity="center"
        android:layout_marginLeft="4dip"
        android:layout_marginRight="4dip"
        android:layout_marginTop="4dip"
        android:background="@null"
        android:contentDescription="@string/app_name"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/LblSubTitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@+id/parking_details"
        android:layout_toRightOf="@+id/parkingState"
        android:gravity="center_vertical"
        android:singleLine="false"
        android:text="write something here to display in the text"
        android:textColor="#444444"
        android:textSize="12sp"
        android:textStyle="normal" />

    <ImageButton
        android:id="@+id/parking_details"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="4dip"
        android:layout_marginLeft="4dip"
        android:layout_marginRight="4dip"
        android:layout_marginTop="4dip"
        android:background="@null"
        android:contentDescription="@string/app_name"
        android:gravity="center"
        android:src="@drawable/ic_launcher" />

</RelativeLayout>

试试上面你想要朋友的代码

于 2013-01-31T09:59:17.100 回答
1

使用RelativeLayout代替LinearLayout,然后你可以使用layout标签:

android:layout_alignParentLeft = "true"android:layout_alignParentRight = "true"

注意:集中TextView使用:android:layout_centerHorizontal="true"

<RelativeLayout bla bla 
 bla bla >
<ImageView bla bla 
   bla bla 
   android:layout_alignParentLeft="true" />

<TextView bla bla 
   bla bla 
   android:layout_centerHorizontal="true" />

<ImageView bla bla 
   bla bla 
   android:layout_alignParentRight="true" />
</RelativeLayout>
于 2013-01-31T09:59:19.040 回答
1

把它放到 ImageButtun 标签中:

android:layout_alignParentLeft="true"

android:layout_alignParentRight="true"
于 2013-01-31T10:07:30.083 回答
0

父 LineLayout 具有android:layout_width="wrap_content". 将其更改为fill_parent.

<?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="wrap_content"
    android:gravity="center"
    android:orientation="vertical" >
    ....
    ....
    ....

</LinearLayout>
于 2013-01-31T10:00:59.360 回答
0

添加线性布局,如下所示...

<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content">
    <ImageButton android:id="@+id/parkingState" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="4dip" 
        android:layout_marginRight="4dip"
        android:layout_marginLeft="4dip"
        android:layout_gravity="center"
        android:background="@drawable/ic_launcher"/>


    <LinearLayout 
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" 
        android:orientation="vertical"
        android:gravity="center"
        > 
        <TextView android:id="@+id/LblSubTitle"
            android:gravity="center_horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textStyle="normal"
            android:text="hhhh"
            android:textColor="#444444"
            android:textSize="12sp" /> 

    </LinearLayout>

    <ImageButton android:id="@+id/parking_details" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_marginRight="4dip"
        android:layout_marginLeft="4dip"
        android:layout_marginTop="4dip"
        android:layout_marginBottom="4dip"
        android:background="@drawable/ic_launcher"/>
</LinearLayout>

</LinearLayout>
于 2013-01-31T10:01:12.490 回答