如何从 Android L Preview Design 制作 Android List View Design

Posted

技术标签:

【中文标题】如何从 Android L Preview Design 制作 Android List View Design【英文标题】:How to make Android List View Design from Android L Preview Design 【发布时间】:2014-08-24 05:08:07 【问题描述】:

我制作 android L 预览图像样式列表项。 这是我对这些类似设计的代码。

//可绘制/list_item_bg.xml

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

     <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
          <item>
                <shape
                 android:shape="rectangle">
                  <solid android:color="#E6E6E6" />
                </shape>
          </item>
          <item android:bottom="1dp">
              <shape
                    android:shape="rectangle">
                   <solid android:color="#FAFAFA" />
              </shape>
          </item>
      </layer-list>

//可绘制/list_icon_bg

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="@color/list_grey_bg" />
</shape>

// 布局/list_item

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_>

    <ImageView
        android:id="@+id/list_icon"
        android:layout_
        android:layout_
        android:layout_margin="16dp"
        android:src="@drawable/thumb"
        android:background="@drawable/list_icon_bg"/>

    <LinearLayout
        android:orientation="vertical"
        android:layout_
        android:layout_
        android:gravity="center_vertical"
        android:background="@drawable/list_item_bg"
        android:layout_toRightOf="@+id/list_icon"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true">

        <TextView
            android:id="@+id/label"
            android:layout_
            android:layout_
            android:textColor="@color/primary_text"
            android:paddingRight="16dp"
            android:text="Sample Text" />

    </LinearLayout>

</RelativeLayout>

但我对列表项选择状态有问题。列表项选定状态的背景颜色仅适用于图标区域。选定状态的列表项背景颜色不适用于 LinearLayout 区域。我该如何解决。

【问题讨论】:

我无法完全理解您的问题,但请尝试将 "android:background="@drawable/list_icon_bg" 行放入您的父行布局中。这对你有帮助吗? 如果我在父视图中添加"android:background="@drawable/list_icon_bg",分隔线将出现全屏。 您正在点击图标而不是将其传递给主列表视图? 我希望列表项的背景颜色影响整个列表项。不仅是图标区域(在图 2 中)。 请尝试在行的父布局中设置父列表和“android:background="@drawable/list_icon_bg" 行的高度。然后发布屏幕截图 【参考方案1】:
activity_main:
============


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:background="@drawable/list_icon_bg">

    <ImageView
        android:id="@+id/list_icon"
        android:layout_
        android:layout_
        android:layout_margin="16dp"
        android:src="@drawable/thumb"
        />

    <LinearLayout
        android:orientation="vertical"
        android:layout_
        android:layout_
        android:gravity="center_vertical"
        android:background="@drawable/list_item_bg"
        android:layout_toRightOf="@+id/list_icon"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentTop="true"
        android:layout_alignParentBottom="true">

        <TextView
            android:id="@+id/label"
            android:layout_
            android:layout_
            android:textColor="@color/primary_text"
            android:paddingRight="16dp"
            android:text="Sample Text" />

    </LinearLayout>

</RelativeLayout>

【讨论】:

以上是关于如何从 Android L Preview Design 制作 Android List View Design的主要内容,如果未能解决你的问题,请参考以下文章

Android L波纹触控效果如何?

Android Camera Preview 无法在 Google Glass 上正确显示?

Android studio的preview界面一直在加载,该如何解决?

如何在打盹模式下移动设备(Android Preview M / Marshmallow)?

目前有哪只手机支持android L系统?

Android N Preview Notification API (通知)