xamarin android listview的用法(转载 https://blog.csdn.net/kebi007/article/details/52650729)

xamarin android listview的用法

版权声明:本文为博主原创文章,未经博主允许转载随意。 https://blog.csdn.net/kebi007/article/details/52650729

listview也许是用的非常频繁的一个控件之一,下面我写一个xamarin的listview栗子,大家尝一尝xamarin android开发的乐趣。原谅我的大小写吧.

listview绑定自定义的BaseAdapter

先来看一下最终实现的效果图:

News.cs 和NewAdapter.cs

namespace DrawerLayout.Adapter
{
public class News {
public int Pv { get; set; }
public string Title { get; set; }
public News(string title,int Pv)
{
this.Title = title;
this.Pv = Pv;
}
}
public class NewsAdapter : BaseAdapter
{
private List<News> data;
private Context context;
public override int Count
{
get
{
return data.Count;
}
}
public NewsAdapter(List<News> data,Context context)
{
this.data = data;
this.context = context;
}
public override Java.Lang.Object GetItem(int position)
{
return null;
}
public override long GetItemId(int position)
{
return position;
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
convertView = LayoutInflater.From(context).Inflate(Resource.Layout.lv_test,parent,false);
TextView title = convertView.FindViewById<TextView>(Resource.Id.tv_title);
TextView pv = convertView.FindViewById<TextView>(Resource.Id.tv_pv);
pv.Text = data[position].Pv.ToString();
title.Text = data[position].Title;
return convertView;
}
}
}

listview布局lv_test.axml

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:padding="10dp">
<LinearLayout
android:id="@+id/layout_content"
android:layout_width="match_parent"
android:layout_height="60dp"
android:orientation="horizontal"
android:gravity="center_vertical">
<TextView
android:id="@+id/tv_title"
android:layout_height="50dp"
android:layout_width="0dp"
android:layout_weight="5"
android:textColor="#000000"
android:text="加内特的历史地位比邓肯差多少,差了一个艾佛森吗?"
android:textSize="16dp" />
<TextView
android:id="@+id/tv_pv"
android:layout_height="40dp"
android:layout_width="0dp"
android:layout_weight="1"
android:textColor="#808080"
android:textSize="12dp"
android:text="19665"
android:gravity="right|center_vertical" />
</LinearLayout>
<View
android:layout_height="1dp"
android:layout_width="match_parent"
android:background="#dedede" />
</LinearLayout>

最后是MainActivity.cs

namespace DrawerLayout
{
[Activity(Label = "ListViewDemo", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
int count = 1;
private List<News> data;
private Context context;
private NewsAdapter adapter;
private ListView lv_test;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
data = new List<News>() {
new News ("加内特的历史地位能在NBA排第几,超越德国战车?",1200),
new News ("盘点新赛季最期待的十场比赛,无湖人比赛?",560),
new News ("库里新赛季铁定无缘常规赛MVP",158200),
new News ("我服,库里,杜兰特,汤普森谁才是出手的最佳选择",900),
new News ("易建联的出场时间你能猜出来吗,大概多少",960),
new News ("卡戴珊三姐妹睡多少男人",960),
new News("科比退役后湖人到底失去多少中国的粉丝",4986),
new News("科比退役湖人签中国篮球当家背后隐藏了多少阴谋",65987)
};
adapter = new NewsAdapter(data,this);
lv_test = FindViewById<ListView>(Resource.Id.lv_test);
//View lv_header = LayoutInflater.Inflate(Resource.Layout.lv_header, null);
//lv_test.AddHeaderView(lv_header);
lv_test.Adapter = adapter;
lv_test.ItemClick += (s, e) =>
{
OnClick(e.Position);
};
}
public void OnClick(int position)
{
position--;
Toast.MakeText(this,$"这条新闻有"+data[position].Pv+"次浏览量",ToastLength.Short).Show();
}
}
}


一个最简单的listview绑定数据就这么简单的。后面将会介绍几个比较常用额属性和方法

 

 

2.xamarin android ListView表头表尾分割线的设置:

 

listview可以自己设置表头表位,以及分割线,下面看一看具体的方法:

  • divider:设置分隔条,当设置为@null时则没有分隔条,设置的值可以是颜色代码,也可以是drawable资源分割
  • dividerHeight:设置分隔条的高度
  • footDividersEnabled:是否在footerView 表尾前绘制一个分隔条,默认为true
  • headerDividerEnabled同上

这里我参考的csdn-pig写的android博客,设置listview 表头表尾丙没有这种属性,只用以下几个方法

 

  • AddHeaderView(View v):添加headerView 表头,View v参数是一个布局页
  • AddHeaderView(headerView,null,false):添加headerView 表头,设置header是否可以选中
  •  
  • AddFooterView(View v):同上
  • AddFooterView(headerView,null,false):同上

除了以上几个属性我们还可以设置listview的点击效果等

 

 

  • stackFromBottom:设置列表放在最下面,默认为的false
  • cacheColorHint:如果你的Listview的Background是一张图片的话,当你拖动和点击ListView Item空白位置会发现item都变成黑色了,这个时候设置cacheColorHint设置为透明#00000000 ,6个0的是黑色
  • 隐藏滚动条 android:scrollbars="none

关于listview的简单的用法就这么了,当然这是最基础的,还有很多问题需要去探索,listview 单击项的效果,listview控件的优化。。。。。。

 

listview demo 下载链接 : ListView例子源码下载

有兴趣的可以关注一下我的微信公众号,分享一些编程相关的经典文章

股神狱中曝出庄家洗盘规律,牢记这3点,看完焕然大悟南针信息 · 顶新
anonymous-User-img.png
还能输入1000个字符
  • qq_33182090
    文佳铭: 在MainActivity.cs文件中,第28行代码最后的Resource.Id.lv_test这是绑定listview控件,但博客上只定义了listview但在xaml中未出现过 (1年前 #3楼) 举报回复
  • 上一页
  • 1
  • 下一页
重磅!近期又出一股市怪才!50万资金入市,如今身家过亿!南针信息 · 顶新
股神狱中曝出庄家洗盘规律,牢记这3点,A股就是提款机南针信息 · 顶新
揭秘:静脉曲张竟是身体缺了它?饭后吃点它,静脉曲张不再来京宛协同 · 猎媒
老中医:有多少人知道,原来它才是痔疮的克星!九龙 · 猎媒
如何满足她?老中医说;教你一招,让女人双腿发抖!同舟 · 猎媒
股市大消息,中国版纳斯达克来了,对A股意味着什么?龙周刊 · 顶新
股神狱中曝出庄家洗盘规律,牢记这3点,看完焕然大悟南针信息 · 顶新
feedLoading.gif

没有更多推荐了,返回首页

转载于:https://www.cnblogs.com/dingling275445130/p/11319866.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值