美文网首页
安卓开发常用知识

安卓开发常用知识

作者: Tyson_Wu | 来源:发表于2019-06-18 16:26 被阅读0次

RecyclerView添加分隔线

默认情况下RecyclerView中间是没有分割线的,需要用户自己添加
添加方式如下

//添加自定义分割线
        DividerItemDecoration divider = new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL);
        divider.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.custom_divider));
        rvNews.addItemDecoration(divider);

custom_divider的布局为

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!---->
    <item
        android:left="15dp"
        android:right="15dp">
        <shape>
            <solid android:color="@color/gray_cf" />
        </shape>
    </item>

    <item android:bottom="2px">
        <shape>
            <solid android:color="@color/gray_cf" />
        </shape>
    </item>


</layer-list>

自定义ProgressBar

需求:定义如下图所示的progressbar


image.png

首先xml中添加progressbar

    <ProgressBar
        android:id="@+id/pb_learning_progress"
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="match_parent"
        android:layout_height="6dp"
        android:layout_below="@+id/tv_course_watch_count"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="5dp"
        android:layout_marginRight="5dp"
        android:layout_toRightOf="@id/iv_professor_head"
        android:max="100"
        android:progressDrawable="@drawable/progressbar_bg" />

style="@android:style/Widget.ProgressBar.Horizontal"样式一定要加入,不然会是默认的,圆圈转动的样式
progress_bg代码如下

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--3个层的顺序即为显示时的叠加顺序-->
    <!--背景色-->
    <item android:id="@android:id/background">
        <shape>
            <corners android:radius="5dip" />

            <solid android:color="#CCCCCC" />
        </shape>
    </item>

    <!--二级进度条的颜色-->
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="5dip" />

                <solid android:color="@color/blue_bbfe" />
            </shape>
        </clip>
    </item>
</layer-list>

ScrollView嵌套RecyclerView造成 RecyclerView滑动卡顿

rvGoods.setNestedScrollingEnabled(false);

自定义progressBar样式

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--  设置背景色  -->
    <item android:id="@android:id/background">
        <shape android:shape="rectangle">
            <solid android:color="@color/gray_F4F8FB" />
            <corners android:radius="10dp" />
        </shape>
    </item>

    <!--  设置进度条颜色  -->
    <item android:id="@android:id/progress">
        <clip>
            <scale
                android:scaleWidth="100%"
                android:drawable="@drawable/bg_progress_training_1"/>

        </clip>
    </item>
</layer-list>

//下面是bg_progress_training_1
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#ff05baec" />
    <corners android:radius="10dp" />
</shape>

这里的clip可以处理进度条后面的截断问题,让进度条末尾为圆弧形

相关文章

网友评论

      本文标题:安卓开发常用知识

      本文链接:https://www.haomeiwen.com/subject/rrnfqctx.html