我想创建一个一次显示5行的列表视图。它应该有中间行可见,文本比其他行更大。第2行和第4行可见但文本小于中间行,第1行和第5行可见,文本较小。所以listview看起来像一个轮子运行..
Listview提供了大量列表值。
我试过但不能达到类似的效果:
答案 0 :(得分:0)
试试这个。
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
convertView = layoutInflator.inflate(R.layout.customlistview_xml,
null);
TextView head = (TextView) convertView.findViewById(R.id.header);
if (position % 2 == 0) {
// you can vary these and check..
head.setTextSize(float value);
} if(position % 3 == 0) {
head.setTextSize(float value);
}
else {
head.setTextSize( normal float value);
}
Itemclass attach = new Itemclass();
attach = structure.get(position);
head.setText(attach.name);
}
return convertView;
答案 1 :(得分:0)
使用自定义列表视图... 并在getView方法中设置文本的大小。
例如..
public View getView(int position, View convertView, ViewGroup parent) {
View = convertView;
view = layoutInflator.inflate(R.layout.listrow,null);
TextView tv =(TextView) view.findViewById(R.id.tv);
if(position==0){
tv.setTextSize(your text size here);
}
tv.setText("text");
return view;
}
答案 2 :(得分:0)
由于您希望根据您的条件在每一行中产生差异,您必须首先捕获您在列表项中获得的行的位置。之后,您必须在列表项中输入您想要的布局设计或数据。
如果您需要,也可以从代码中更改布局设计组件,因为您只是尝试增加textview的大小。所以首先得到列表项的位置:
getItemViewType(int position) - returns information which layout type you should use based on position
之后只需增加texview的尺寸:tvYourTextView.setSize("Your text size");
查看详细信息:HowTo: ListView, Adapter, getView and different list items’ layouts in one ListView
快乐的编码!!!