`

个性化(Style/Theme)之ListView

阅读更多
1)Item分隔栏


只需要在Adapter中Override isEnabled Method, 在getView中设置其他相关的即可。

public class XXXItemAdapter extends BaseAdapter{
	private LayoutInflater minflater;
	private List<CommonViewHolder> list;
	public FinanceListItemAdapter(LayoutInflater inflater, List<CommonViewHolder> list) {
		super();
		this.minflater = inflater;
		this.list = list;
    }

	@Override
	public int getCount() {
		return  this.list.size();
	}

	@Override
	public boolean isEnabled(int position) {
		boolean result = true;
		if(position == 0 || position == 4 || position == 9 ) {
			result = false;
		}
		return result;
	}

	@Override
	public Object getItem(int position) {
		return  position < this.list.size()  ? this.list.get(position) : null;
	}

	@Override
	public long getItemId(int position) {
		return  position < this.list.size() ? this.list.get(position).id :  -1l;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		CommonViewHolder commHolder = null;
		   if(convertView == null) {
			    convertView = minflater.inflate(R.layout.list_common_item, null);
			    commHolder = new CommonViewHolder();
			    commHolder.text= (TextView)convertView.findViewById(R.id.more_item_text);
			    commHolder.sign = (ImageView)convertView.findViewById(R.id.more_item_sign);
			    commHolder.sign.setImageResource(R.drawable.go_next_icon);
			    commHolder.text.setTextColor(Color.BLACK);
			    convertView.setDrawingCacheBackgroundColor(Color.WHITE);
			    convertView.setTag(commHolder);
		   }else {
			   commHolder =  (CommonViewHolder) convertView.getTag();
		   }
		   commHolder.text.setText(this.list.get(position).text.getText());
		   if(position == 0 || position == 4 || position == 9 ) {
			   commHolder.sign.setImageDrawable(null);
			   convertView.setBackgroundColor(Color.GRAY);
		   }
		   return convertView;
	}

}


2)自定义背景(白色+圆角)

只需要配置XML即可。


four_white_corner_listview_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
   
    <item>        
       <shape xmlns:android="http://schemas.android.com/apk/res/android" 
                    android:shape="rectangle"> 
                   <stroke android:width="3dip" android:color="#ffffffff" /> 
                    <solid android:color="#ffffffff" /> 
                    <corners android:bottomRightRadius="6dip" 
                        android:bottomLeftRadius="6dip" 
                        android:topLeftRadius="6dip" 
                        android:topRightRadius="6dip" /> 
                </shape> 
    </item>
    
    
</selector>

更多Drawable用法参考: http://idunnolol.com/android/drawables.html


listview:

<ListView android:id="@+id/xxxx"
		      			android:layout_width="wrap_content"
		      			android:background="@drawable/four_white_corner_listview_bg"
		      			android:drawSelectorOnTop="false"
						android:cacheColorHint="#00000000"
						android:fitsSystemWindows="true"
						android:fastScrollEnabled="true"
		      			android:layout_height="125sp">
      				</ListView>


  • 大小: 11.7 KB
  • 大小: 15.9 KB
分享到:
评论

相关推荐

    WPF listView Style Group

    当我们需要对数据进行分组显示时,WPF ListView 的 Style 和 GroupStyle 就显得尤为重要。在本篇文章中,我们将深入探讨如何利用 WPF ListView Style Group 技术来实现列表的分组显示,以及相关的知识点。 首先,...

    禁止用户调整Listview控件列宽

    4. **设置列宽**:为了固定列宽,我们需要在程序启动或ListView初始化时,预先设定每个列的宽度。可以使用`ColumnHeader.Width`属性来设置。 5. **禁用视觉反馈**:在用户尝试调整列宽时,ListView通常会显示一个可...

    C#WinCE程序绑定LIstView

    总的来说,C# WinCE程序中的ListView控件提供了灵活的方式来展示结构化的数据。通过设置不同的属性和方法,我们可以自定义其外观和行为,以满足特定的应用需求。无论是静态设计还是动态生成,掌握ListView的使用对于...

    android listview 分页显示

    // 初始化listview initializeAdapter(); lv.setAdapter(adapter); // 为按钮添加点击事件 cl = new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method ...

    ListView和Treeview的结合使用

    在GUI(图形用户界面)设计中,ListView和TreeView是两种常用的控件,它们在Windows Forms、WPF或Qt等框架中都有广泛的应用。ListView用于显示一列或多列数据,而TreeView则用于展示层次结构的数据。当这两者结合...

    WPF ListView 漂亮样式

    &lt;/Style.Triggers&gt; &lt;/Style&gt; &lt;/GridView.ColumnHeaderContainerStyle&gt; ``` 5. **列表项样式和选择** 可以通过定义ListView.ItemContainerStyle来控制列表项的样式,比如更改选中时的背景色或边框: ```xml ...

    Android清除/加载新数据listview

    在Android开发中,ListView是一种常用的UI组件,它用于展示大量数据列表。本示例将讨论如何使用Button来控制ListView中的数据清除与加载新数据。在实际应用中,这样的功能常见于刷新列表、加载更多或者切换不同数据...

    android中一个简单的LIstView用法例子

    // 初始化ListView ListView listView = (ListView) findViewById(R.id.listView); // 创建适配器 ArrayAdapter&lt;String&gt; adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, items); // 设置...

    Android listview嵌套listview

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。然而,有时我们可能需要在一个ListView的项中再嵌套另一个ListView,这被称为ListView的嵌套。这样的设计可以用于展示复杂的数据结构,比如...

    C#,winform,listView动态插入数据

    ### C# WinForm ListView 动态插入数据详解 在C#的WinForms应用程序开发中,`ListView` 控件是常用的一种界面元素,用于显示一系列条目,并且支持多种视图模式,如大图标、小图标、列表、详细信息等。在实际应用中...

    C# listview使用demo

    在.NET Framework中,C#的ListView控件是一个强大的组件,常用于展示数据列表,它可以以多种视图(如详细信息、小图标、大图标、列表和报告)显示数据。本教程将通过一个简单的C# ListView使用示例,帮助你理解和...

    C# Listview控件使用实例

    #### 二、初始化 ListView 控件 在创建一个新的 ListView 控件之前,我们需要对其进行一些基本的配置,以确保它能够按照我们的需求来展示数据。 ```csharp // 实例化 ListView 控件 ListView lv1 = new ListView()...

    XML中内容添加至ListView中

    本主题聚焦于如何将XML文档中的数据加载到Windows应用程序中的ListView控件中,这个过程通常涉及到数据解析、数据绑定以及UI更新等步骤。我们将探讨这一过程的细节,以及如何在Visual Studio 2005环境下实现这一功能...

    C# 用ListView控件浏览图像

    2. 初始化ListView控件并设置相关属性: ```csharp ListView listView = new ListView(); listView.View = View.LargeIcon; // 设置为大图标模式,以便显示图像 listView.FullRowSelect = true; // 全行选择模式 ...

    WPF中ListView分页

    6. **实现虚拟化**:为了提高性能,特别是在处理大量数据时,应启用ListView的VirtualizingStackPanel,这将只渲染可视区域内的项,降低内存和CPU的使用。 **示例代码片段** ```csharp // 创建数据源 ...

    【C#源码】ListView根据文件名显示图标

    2. **创建ListView控件**:在C#代码中,首先实例化一个ListView对象,并设置其属性,如View属性通常设为`View.Details`以便显示文件名和图标。 3. **添加列**:通过调用`ListView.Columns.Add()`方法添加列,例如...

    C#-listview用法详解

    下面是一个简单的示例代码片段,用于演示如何初始化一个 ListView 控件,并添加一些基本功能: ```csharp using System; using System.Windows.Forms; public class ListViewExample : Form { private ListView ...

    listView上增加button点击事件

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。然而,在实际应用中,我们经常需要在ListView的每一项(item)中添加按钮(button),以便用户进行交互操作。标题"listView上增加button点击...

    android的listview嵌套listview,列表嵌套列表 android studio版本

    // 初始化父ListView的Adapter ParentListAdapter parentAdapter = new ParentListAdapter(this, parentData); parentListView.setAdapter(parentAdapter); // 对于每个父ListView的条目,我们需要在getView()中...

Global site tag (gtag.js) - Google Analytics