前言:
作为一名程序媛,并且是刚入职的小菜鸟,深知自己能力和天赋有限,因此开启这个技术博客,希望能够形成一个技术知识的积累,希望自己能够成为一名优秀的,高效的,不需要加班的程序员!
那么,现在开始吧,一定要坚持哦~
问题:在ListView的Item之间添加分割线
解决过程:
之前有实现过简单的listview显示数据,但是没有添加分隔你线的情况,因此,在不知道解决办法的情况下,我第一时间选择了百度,刚开始搜索到的办法,是需要画出一个自定义的View,对应每个Item,override 这个View里面的ondraw方法,在canvas画布上画出需要的分隔线,这种方法实现起来比较麻烦,花了我一个下午的时间:
自定义一个View
public class TitleItemView extends RelativeLayout {
private View viewHolder;
public TextView titleView;
private Context c;
public TitleItemView(Context context) {
super(context);
LayoutInflater flater = LayoutInflater.from(context);
viewHolder = flater.inflate(R.layout.trade_list_item_info, this);
getView();
c = context;
}
private void getView()
{
titleView = (TextView)viewHolder.findViewById(R.id.TradeItemTitle);
}
public void setTitle(String name)
{
titleView.setText(name);
}
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(canvas);
Paint mLinePaint = new Paint();
mLinePaint.setColor(Color.WHITE);
DashPathEffect effect = new DashPathEffect(new float[] { 5,5, 5, 5}, 0);
mLinePaint.setAntiAlias(true);
mLinePaint.setPathEffect(effect);
canvas.drawLine(0, getHeight(), getWidth(), getHeight(), mLinePaint);
// canvas.drawLine(0,0,getWidth(),0,mLinePaint);
}
}
后来才偶然知道有一种特别简易的方法:
<ListView
android:id="@+id/trade_action_listView"
android:layout_width="250dp"
android:layout_height="fill_parent"
android:scrollbars="none"
android:background="@color/black"
android:divider="@color/tm_item_detail"
android:dividerHeight="1dp"
android:layout_weight="1">
</ListView>
其实如此简单! 只需要在ListView中定义一个 divider属性即可!
看来对信息的全面了解有多重要!