1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 3min初识ListView(4)-inflate打气筒实现复杂布局

3min初识ListView(4)-inflate打气筒实现复杂布局

时间:2022-08-07 22:31:12

相关推荐

3min初识ListView(4)-inflate打气筒实现复杂布局

回首往事,看一下我们ListView的item,就是一个TextView,实在是太简陋了,今天我们通过inflate打气筒实现复杂布局。

我们实现的布局如图,左边是一个ImageView作为icon,右上是一个TextView作为title,右下是一个TextView作为content,整体使用相对布局。

ps:这只是复杂布局的一个简单示意,举一反三,更复杂的布局由你发挥。

关于布局的实现只提2点,TextView的2个属性,ellipsize设置当文字过长时,省略号的出现位置;singleLine设置单行显示。

android:singleLine="true"android:ellipsize="end"

开始写核心代码,关键是getView,getView返回一个View,但我们现在有3个View,怎么办?

Duang~inflate打气筒出现了。

View.inflate(getApplicationContext(),R.layout.item,null)

inflate打气筒:将布局资源转换为View对象然后返回来。

传入3个参数,第一个上下文,一般使用getApplicationContext,第二个资源id,即我们的item,第三个ViewGroup我们设置为空,一般用不上。

ps:LinearLayout、RelativeLayout等都继承自ViewGroup,ViewGroup可以有自己的孩子。

最后附上核心方法代码:

//获取View,作为ListView的一个条目显示@Overridepublic View getView(int position, View convertView, ViewGroup viewGroup) {//布局资源->View对象//LinearLayout、RelativeLayout等都继承自ViewGroup,ViewGroup可以有自己的孩子。View view;//View convertView 历史缓存对象if (convertView == null){view = View.inflate(getApplicationContext(),R.layout.item,null);}else{view = convertView;}return view;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。