android,无法在listview的行中右对齐图标

时间:2010-01-27 13:02:03

标签: android android-widget

我目前正在开发我的第一个Android应用程序。在列表视图中,我需要在每一行中都有以下组织:

  • 在左侧:一个主要图标占据行的整个高度
  • 中间:2个文本,一个低于另一个
  • 在右边:2个图标,一个在另一个下面

我最终得到了像这样的row.xml文件,但这并不像我期望的那样工作。 你知道这个文件中是否缺少明显的东西吗? 非常感谢, LUC

<?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="?android:attr/listPreferredItemHeight"
android:padding="6dip">
<ImageView
    android:id="@+id/icon"
    android:layout_width="48px"
    android:layout_height="48px"
    android:layout_marginRight="0dip"
    android:src="@drawable/icon" />
<LinearLayout
    android:orientation="vertical"
    android:layout_width="0dip"
    android:layout_weight="1"
    android:layout_height="wrap_content">
    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="16dp"
        android:textStyle="bold"
        android:text="TITLE"
        android:paddingLeft="5dp"
    />
    <TextView
        android:id="@+id/description"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textSize="14dp"
        android:text="DESCRIPTION"
        android:paddingLeft="5dp"
    />
</LinearLayout>
<LinearLayout
    android:orientation="vertical"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_gravity="right">
    <ImageButton
    android:id="@+id/button_modify"
    android:layout_width="16px"
    android:layout_height="16px"
    android:src="@drawable/deleteicon"
    />
    <ImageButton
    android:id="@+id/button_delete"
    android:layout_width="16px"
    android:layout_height="16px"
    android:src="@drawable/modifyicon"
    />
</LinearLayout>

2 个答案:

答案 0 :(得分:6)

在右侧栏LinearLayout中,添加

android:layout_width="wrap_content"
android:gravity="right"

这应该使图标应该向右移动(因为gravity设置。)

答案 1 :(得分:4)

考虑切换到RelativeLayout以获取您描述的规则集。使用LinearLayouts可能并不适用于所有情况,并且在堆栈消耗方面效率低于RelativeLayout