基本UI組件的封裝庫(二)——basicUI

查看在線pdf文檔:
http://note.youdao.com/s/EM20Cggm

以下是我的基本UI組件該系列的文章涩僻,歡迎大家轉載和分享:
基本UI組件的封裝庫(一)——basicUI
基本UI組件的封裝庫(二)——basicUI
基本UI組件的封裝庫(三)——basicUI
基本UI組件的封裝庫(四)——basicUI

前言

  • 我在之前BasicUI項目一共包括了:1培漏、Recycleview的封裝,支持單布局和多布局群凶,支持添加頭部和底部,還包括了懸浮列表的基本封裝念脯。2、dialog的封裝煌往。支持從底部彈出曙寡,并可設置動畫糠爬,是否寬度全屏等樣式。3举庶、NavigationBar的封裝执隧,可以在activity中動態(tài)設置添加頭部。4户侥、PopupWindow的封裝 5镀琉、editText的封裝,自帶清除按鈕蕊唐,并設置按鈕的顏色和按鈕的資源 6滚粟、TextView的封裝、支持設置背景顏色和背景的圓角大小刃泌,以及支持設置文字上下左右的圖標居中

  • 這次新增內容有:1、流式布局的封裝(支持刷新數據)署尤、2耙替、仿今日頭條的TableLayout、3曹体、花束加載loading效果俗扇、4、仿58同城多條目菜單刪選封裝

  • 如果大家有什么問題箕别,歡迎您在下方留言或者在BasicUI中留下的問題

Gradle依賴

  • Step 1. Add the JitPack repository to your build file
    Add it in your root build.gradle at the end of repositories:
    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }
  • Step 2. Add the dependency
    dependencies {
            implementation 'com.github.Peakmain:BasicUI:1.1.0-androidx'
    }

使用

關于流式布局的使用

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

<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的使用

  • 效果


    效果圖.gif
  • 使用:
    第一步:自定義自己的TableLayout繼承BaseTabLayout<T>將泛型換成自己的實體類就可以了

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同城多條目菜單刪選封裝

  • 效果


    效果
  • 使用
    1、第一步:繼承BaseListMenuAdapater,需要設置三個參數,第一個設置標題的布局华烟,第二個設置菜單view的布局翩迈,第三個設置菜單的內容

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);//自己的適配器

結語

如果大家感興趣想知道更多的使用,大家可以看我實戰(zhàn)項目wanandorid

我的項目BasicUI的Github地址:https://github.com/Peakmain/BasicUI

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末盔夜,一起剝皮案震驚了整個濱河市负饲,隨后出現(xiàn)的幾起案子堤魁,更是在濱河造成了極大的恐慌,老刑警劉巖绽族,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件姨涡,死亡現(xiàn)場離奇詭異,居然都是意外死亡吧慢,警方通過查閱死者的電腦和手機涛漂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來检诗,“玉大人匈仗,你說我怎么就攤上這事》昊牛” “怎么了悠轩?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長攻泼。 經常有香客問我火架,道長,這世上最難降的妖魔是什么忙菠? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任何鸡,我火速辦了婚禮,結果婚禮上牛欢,老公的妹妹穿的比我還像新娘骡男。我一直安慰自己,他們只是感情好傍睹,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布隔盛。 她就那樣靜靜地躺著,像睡著了一般拾稳。 火紅的嫁衣襯著肌膚如雪吮炕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天熊赖,我揣著相機與錄音来屠,去河邊找鬼。 笑死震鹉,一個胖子當著我的面吹牛俱笛,可吹牛的內容都是我干的。 我是一名探鬼主播传趾,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼迎膜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了浆兰?” 一聲冷哼從身側響起磕仅,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤珊豹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后榕订,有當地人在樹林里發(fā)現(xiàn)了一具尸體店茶,經...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年劫恒,在試婚紗的時候發(fā)現(xiàn)自己被綠了贩幻。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡两嘴,死狀恐怖丛楚,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情憔辫,我是刑警寧澤趣些,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站贰您,受9級特大地震影響坏平,放射性物質發(fā)生泄漏。R本人自食惡果不足惜锦亦,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一功茴、第九天 我趴在偏房一處隱蔽的房頂上張望滑沧。 院中可真熱鬧戚篙,春花似錦对妄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽栖茉。三九已至篮绿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間吕漂,已是汗流浹背亲配。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留惶凝,地道東北人吼虎。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像苍鲜,于是被迫代替她去往敵國和親思灰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內容

  • 你小時候總是很好奇 蝴蝶會飛 蟲子會叫 天空很藍 青草很香 可是沒人能回答你 你不能問 因為你總是被說 “呀混滔,真是...
    阿鍶閱讀 273評論 0 0
  • 桌子的一個角亮著 臺布和盤子很安靜 椅子的正面也亮著 空下沒有人坐 冬天 陽光探到了房屋的深處 未覺得寒冷深入到骨...
    團結巷徐閱讀 237評論 1 9
  • 在小區(qū)的車庫旁洒疚,總有幾個鳥籠掛著歹颓,里面住著幾只小鳥,那是小區(qū)老人養(yǎng)來玩兒油湖。望著那些可憐的沒有自由的鳥兒巍扛,想起鄉(xiāng)下的...
    邂逅若水閱讀 822評論 7 7