Android 样式/阴影正确 ListItem 布局

Posted

技术标签:

【中文标题】Android 样式/阴影正确 ListItem 布局【英文标题】:Android style/shade properly ListItem layout 【发布时间】:2015-07-31 20:55:16 【问题描述】:

我有一个使用 ListFragment 的应用程序。我想设计自己的 ListItem 布局,但不知道如何获得所需的效果。我希望它看起来像这样:

我想要那个大的 imageView,带有 TextView 和 Like 按钮的小阴影条纹。任何想法如何解决这个问题?尤其是阴影部分。

【问题讨论】:

为改进语法而编辑。 【参考方案1】:

您需要使用 setListAdapter(adapter) 为您的 ListFragment 设置一个适配器。

您可以创建自己的适配器来实现 BaseAdapter。

然后你像这样覆盖 getView:

@Override  
public View getView(int position, View convertView, ViewGroup parent) 

 View v = convertView;  
 CompleteListViewHolder viewHolder;  
 if (convertView == null) 
   
     LayoutInflater li = (LayoutInflater) mContext  
                      .getSystemService(Context.LAYOUT_INFLATER_SERVICE);  
     v = li.inflate(R.layout.listitem, null);  
  

  ImageView image = (ImageView)v.findViewById(R.id.image);
  TextView text = (TextView)v.findViewById(R.id.text);
  ... add the like button etc

  return v;   

listitem.xml:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/FrameLayout1"
    android:layout_
    android:layout_ >

<ImageView
    android:id="@+id/header"
    android:layout_
    android:layout_
    android:src="@drawable/someImage" />

<LinearLayout
    android:id="@+id/LinearLayout1"
    android:layout_
    android:layout_
    android:layout_gravity="bottom"
    android:orientation="vertical"
    android:background="@drawable/gradient" >

    <TextView
        android:id="@+id/textView1"
        android:layout_
        android:layout_
        android:text="Some text" />

    <Button
        android:id="@+id/likeButton"
        android:layout_
        android:layout_
        android:layout_gravity="right"
        android:text="Like" />

</LinearLayout>

</FrameLayout>

渐变.xml:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle" >

<gradient
    android:angle="90"
    android:endColor="#00000000"
    android:startColor="#FF000000"
    android:type="linear" />

<corners 
    android:radius="0dp"/>

【讨论】:

嗯,谢谢你的代码,明天试试。 您的设计方法有效,但现在我遇到了很多内存问题

以上是关于Android 样式/阴影正确 ListItem 布局的主要内容,如果未能解决你的问题,请参考以下文章

无法在android上的反应导航标题中设置阴影样式(反应本机)

如何使用内部阴影和滚动条正确设置文本区域的样式

tools:listitem 用于扩展 RecyclerView 的自定义视图

Android 6-7 中的内部阴影颜色不正确

android 文字怎么加阴影效果 怎么无效

阴影 dom 内的聚合物元素有效,但没有样式