在ListView的Item之间添加分割线

前言:
作为一名程序媛,并且是刚入职的小菜鸟,深知自己能力和天赋有限,因此开启这个技术博客,希望能够形成一个技术知识的积累,希望自己能够成为一名优秀的,高效的,不需要加班的程序员!
那么,现在开始吧,一定要坚持哦~

问题:在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属性即可!
看来对信息的全面了解有多重要!

你可能感兴趣的:(技术android)