欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

使用FlexboxLayoutManager來(lái)實(shí)現(xiàn)流式布局 - 新聞資訊 - 云南小程序開(kāi)發(fā)|云南軟件開(kāi)發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開(kāi)發(fā)/軟件開(kāi)發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 技術(shù)分享 >

使用FlexboxLayoutManager來(lái)實(shí)現(xiàn)流式布局

發(fā)表時(shí)間:2020-10-19

發(fā)布人:葵宇科技

瀏覽次數(shù):196

在項(xiàng)目中經(jīng)常會(huì)用到流式布局,以前一直是使用鴻洋開(kāi)源的哪個(gè)版本,然后在其上進(jìn)行修改,之前看到了google開(kāi)源了一個(gè)FlexboxLayoutManager的控件,也可以實(shí)現(xiàn)流式布局,但是一直也沒(méi)有細(xì)看。今天偶然又見(jiàn)到一篇相關(guān)的文章,這里簡(jiǎn)單做一個(gè)記錄,以備以后使用。
[官方地址](https://github.com/google/flexbox-layout)
這里注意,它默認(rèn)給出的版本是androidX使用的,你看一下它下面的說(shuō)明,非X使用的版本在里面有說(shuō)明。
好不多說(shuō),直接上代碼,這里的流式布局,采用的是RecyclerView + FlexboxLayoutManager來(lái)實(shí)現(xiàn)的。
我這里寫(xiě)到了fragment里,主要是當(dāng)時(shí)為了試一下新寫(xiě)的懶惰加載功能。
fragment_one.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv_Flexbox"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>

</LinearLayout>

FragmentOne.java

public class FragmentOne extends BaseFragment {

    private RecyclerView rv_Flexbox;
    private List<String> list_data;
    private FlexBoxAdapter fAdapter;
    //private FlexboxLayoutManager flexboxLayoutManager;

    private Context mContext;


    public FragmentOne(Context mContext) {

        this.mContext = mContext;
    }

    @Override
    protected void initView(View rootView) {
        rv_Flexbox = (RecyclerView)rootView.findViewById(R.id.rv_Flexbox);
        FlexboxLayoutManager flexboxLayoutManager = new FlexboxLayoutManager(mContext);
        //flexDirection 屬性決定主軸的方向(即項(xiàng)目的排列方向)。類(lèi)似 LinearLayout 的 vertical 和 horizontal。
        flexboxLayoutManager.setFlexDirection(FlexDirection.ROW);//主軸為水平方向,起點(diǎn)在左端。
        //flexWrap 默認(rèn)情況下 Flex 跟 LinearLayout 一樣,都是不帶換行排列的,但是flexWrap屬性可以支持換行排列。
        flexboxLayoutManager.setFlexWrap(FlexWrap.WRAP);//按正常方向換行
        //justifyContent 屬性定義了項(xiàng)目在主軸上的對(duì)齊方式。
        flexboxLayoutManager.setJustifyContent(JustifyContent.FLEX_START);//交叉軸的起點(diǎn)對(duì)齊。
        rv_Flexbox.setLayoutManager(flexboxLayoutManager);

        list_data = new ArrayList<>();
        fAdapter = new FlexBoxAdapter(getActivity(),list_data);
        rv_Flexbox.setAdapter(fAdapter);

        fAdapter.setOnItemClickLitener(new FlexBoxAdapter.OnItemClickLitener() {
            @Override
            public void rel="stylesheet">