【问题标题】:Custom ListView Item Graphical Layout Android自定义 ListView 项目图形布局 Android
【发布时间】:2012-11-22 06:07:41
【问题描述】:

请原谅我的无知,但这是我使用Android的第三天,我看过教程,它们似乎都专注于listview item UI的xml声明。我的问题是,我希望能够在 Eclipse 的设计器“图形布局”中看到自定义列表视图项 UI。但是,它显示它就像它在 Android 中的任何其他视图一样,即。标题和状态栏位于顶部并占据整个屏幕。我想看到的只是我正在设计的列表视图项目,即。只有 50dp 高和填充宽度。有没有办法做到这一点?

【问题讨论】:

  • 您是否尝试在图形布局中打开列表项的 xml 布局文件?
  • @sandrstar 是的,我有,它显示了整个 android 屏幕,所以列表视图项会被拉伸以适应屏幕,一旦你运行它就可以正常工作,但它使设计变得困难,因为您看不到设计的准确表示。
  • 基本上,在当前的Android SDK中,即使过去了将近一年。

标签: android android-layout android-listview


【解决方案1】:

我相信您正在寻找的是自定义适配器。 您看到的只是列表视图项,您正在寻找的是自定义布局。看看这个教程,特别是关于设计自定义布局和自定义适配器的部分。

http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/

【讨论】:

  • 是的,我已经阅读了该教程,但正如我所说的,它更多地与 ListView 项的 XML 定义有关。我感兴趣的是能够在 Eclipse 中看到“图形布局”,以便它只显示列表视图项而不是整个屏幕。
  • 您只需单击 XML 文件中的“图形布局”选项卡。在 XML 定义中,您可以将布局类型高度(即 LinearLayout)更改为 20dp 并更改背景颜色,它会轻松定义它
  • 是的,我试过了,我把高度改成 50dp 并保存,回到图形布局,它仍然显示整个屏幕,顶部状态栏和所有...:(
  • 如果您不希望状态栏将主题更改为全屏。但是除了 50dp 高的东西之外,你不能删除所有东西。最简单的方法就是更改背景,以便您轻松查看
  • 不,与 Eclipse 相比,XCODE 是在公园里散步
【解决方案2】:

这是制作自定义列表视图的通用布局示例:

主要活动布局:

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

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
     />
</LinearLayout>

ListView 行布局 XML (list.xml):

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <ImageView
        android:id="@+id/icon"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:contentDescription="@string/image"
        android:paddingLeft="10dp"
        android:paddingRight="10dp" />

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/icon"
        android:paddingBottom="10dp"
        android:textColor="#CC0033"
        android:textSize="16dp" />

    <TextView
        android:id="@+id/desc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/title"
        android:layout_toRightOf="@+id/icon"
        android:paddingLeft="10dp"
        android:textColor="#3399FF"
        android:textSize="14dp" />
</RelativeLayout>

【讨论】:

  • 谢谢,但正如我在最初的问题中所说,我对 XML 表示不感兴趣,我对图形布局感兴趣。
【解决方案3】:

我认为查看列表视图的唯一方法是在设备上运行应用程序并用测试数据填充列表视图。有点痛。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    相关资源
    最近更新 更多