【问题标题】:android, cannot align icons on the right in listview's rowandroid,无法在列表视图的行中对齐右侧的图标
【发布时间】:2010-01-27 13:02:02
【问题描述】:

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

  • 在左侧:一个主图标占据了整个行的高度
  • 在中间:2 个文本,一个在另一个下方
  • 右侧:2 个图标,一个在另一个下方

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

<?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>

【问题讨论】:

    标签: android android-widget


    【解决方案1】:

    在右侧列LinearLayout 中,添加

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

    这应该使图标应该落在右侧(因为gravity 设置。)

    【讨论】:

    • 非常感谢,我已添加:android:layout_width="wrap_content"(不适用于fill_parent)android:gravity="right" Luc
    【解决方案2】:

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

    【讨论】:

    • 你好,是的,你说得对。由于我对 android 布局不太熟悉,所以我选择了 LinearLayout,因为它看起来更简单,但我肯定会仔细研究一下 RelativeLayout。非常感谢,卢克
    猜你喜欢
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 2014-03-04
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 2021-06-13
    相关资源
    最近更新 更多