高级UIAndroidandroid开发技巧

基本UI组件的封装库(二)——basicUI

2020-03-05  本文已影响0人  Peakmain

以下是我的基本UI组件该系列的文章,欢迎大家转载和分享:
基本UI组件的封装库(一)——basicUI

前言

Gradle依赖

    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
    dependencies {
            implementation 'com.github.Peakmain:BasicUI:0.0.3'
    }

使用

关于流式布局的使用

大家直接在布局中引用即可

<com.peakmain.ui.widget.FlowLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

在activity中直接设置adapter即可

BaseFlowAdapter adapter=new BaseFlowAdapter() {
                @Override
                public int getCount() {
                    return mCount;//自己数据的实体类的大小
                }

                @Override
                public View getView(final int position, ViewGroup parent) {
                    return view;//自己的view
                }
            }
    mFlowLayout.setAdapter(adapter);

如果想刷新数据只需要调用自己封装的adapter的notifyDataChange方法即可

adapter.notifyDataChange();

仿今日头条的TableLayout的使用

public class TabLayout extends BaseTabLayout<ProjectTreeBean> {//换成自己的实体类


    public TabLayout(Context context) {
        super(context);
    }

    public TabLayout(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public TabLayout(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public String setTableTitle(List<ProjectTreeBean> bean, int position) {
        return bean.get(position).getName();//标题的名字,换成自己的
    }
}

第二步:在自己的布局中使用自己定义的布局就可以了

说明:一共有三个属性大家可以设置。1、未选中文字的颜色originColor,2、选中时候的文字颜色changeColor,3、是否显示下划线isShowUnderLine(下划线的颜色和选中的时候的文字颜色一致)

花束加载loading效果

两种方式:1、大家在布局中使用

<com.peakmain.ui.loading.CircleLoadingView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

2、直接在activity中使用show的方式显示和hide的方法隐藏

        CircleLoadingView loadingView=new CircleLoadingView(this);
        loadingView.show();
        loadingView.hide();

未设置自定义属性,后期会加入

仿58同城多条目菜单删选封装

public class ListMenuAdapter extends BaseListMenuAdapater {
  @Override
    public int getTitleLayoutId() {
        return R.layout.ui_list_data_screen_tab;//自己标题的布局
    }

    @Override
    protected void setMenuContent(View menuView, final int position) {
           //不同菜单的布局参数设置
    }

    @Override
    protected int getMenuLayoutId() {
        return R.layout.ui_list_data_screen_menu;//自己菜单的布局
    }
}

第二步:布局中引入ListMenuView

   <com.peakmain.ui.widget.menu.ListMenuView
        android:id="@+id/list_data_screen_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

第三步:设置adapter即可,需要将标题集合传进去

        mMenuView = findViewById(R.id.list_data_screen_view);
        mMenuView.setAdapter(adapter);//自己的适配器

GitHub地址:https://github.com/Peakmain/BasicUI

上一篇 下一篇

猜你喜欢

热点阅读