知識(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í)提供便捷的支持!
使用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">
相關(guān)案例查看更多
相關(guān)閱讀
- 旅游網(wǎng)站建設(shè)
- 報(bào)廢車(chē)管理系統(tǒng)
- 報(bào)廢車(chē)拆解系統(tǒng)
- 排名
- 小程序開(kāi)發(fā)平臺(tái)前十名
- 云南建設(shè)廳官方網(wǎng)站
- 手機(jī)網(wǎng)站建設(shè)
- 大理小程序開(kāi)發(fā)
- 保山小程序開(kāi)發(fā)
- 云南網(wǎng)站建設(shè)方案 doc
- 云南網(wǎng)站建設(shè)首選
- 小程序開(kāi)發(fā)費(fèi)用
- 模版信息
- 網(wǎng)站建設(shè)百度官方
- 小程序用戶(hù)登錄
- 網(wǎng)站上首頁(yè)
- 云南小程序開(kāi)發(fā)制作
- 網(wǎng)站建設(shè)快速優(yōu)化
- 霸屏推廣
- flex
- 海報(bào)插件
- 云南小程序哪家好
- 昆明小程序哪家好
- 汽車(chē)回收管理
- 云南網(wǎng)站建設(shè) 網(wǎng)絡(luò)服務(wù)
- 云南小程序定制
- web服務(wù)
- 云南旅游網(wǎng)站建設(shè)
- 北京小程序制作
- 小程序退款