Recyclerview最最簡單實(shí)現(xiàn)水平分頁GridView效果

昨天UI妹子給了給需求牛郑,展示水平分頁效果,而且第二頁要默認(rèn)顯示一部分敬鬓,提示用戶水平可以滑動(dòng)淹朋,先上效果圖:

GIF.gif

笙各,很明顯橫向滑動(dòng)的分頁,第一反應(yīng)就是使用ViewPager础芍,畢竟只要通過自定義ViewPager杈抢,實(shí)現(xiàn)這個(gè)效果還是很容易,但是實(shí)際中問題時(shí)仑性,當(dāng)前模塊是Recyclerview中某一個(gè)Holder惶楼,為了性能,肯定盡量使用Recyclerview去復(fù)用View诊杆,而且ViewPager并不能復(fù)用歼捐,所以考慮之后,還是要用Recyclerview去實(shí)現(xiàn)刽辙。

解決思路

既然打算用Recyclerview實(shí)現(xiàn)窥岩,很明顯這就可以用GridLayoutManager處理橫向滑動(dòng)的列表甲献,初步實(shí)現(xiàn)橫向列表的效果宰缤,列數(shù)為4的橫向分頁效果

GIF.gif

橫向列表效果是實(shí)現(xiàn)了,但是并沒有達(dá)到設(shè)計(jì)稿的要求晃洒,第二頁要默認(rèn)顯示一部分慨灭,那么就要從水平方向上去思考解決問題,既然第二頁要顯示一部分球及,假如顯示16dp氧骤,那么將第一頁列表寬度減少右邊距16dp,第二頁就可以在第一頁顯示了吃引。
在Recyclerview的Adapter中筹陵,先上布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rl_parent"
    android:layout_width="match_parent"
    android:layout_height="55dp"
    android:background="@drawable/news_click_bg"
    android:clickable="true"
    android:gravity="center_vertical">

    <ImageView
        android:id="@+id/iv_img"
        android:layout_width="48dp"
        android:layout_height="48dp"
        android:layout_centerVertical="true"
         android:layout_marginLeft="16dp"
        android:padding="3dp"
        android:src="@drawable/icon_book_default"
        android:tint="@color/blue" />

    <com.ddz.lifestyle.baseview.customview.RobotoTextView
        android:id="@+id/tv_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="20dp"
        android:layout_toRightOf="@+id/iv_img"
        android:ellipsize="end"
        android:lines="1"
        android:textSize="18sp"
        app:typeface="roboto_regular"
        tools:text="name" />

    <ImageView
        android:id="@+id/iv_menu"
        android:layout_width="34dp"
        android:layout_height="34dp"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="10dp"
        android:padding="10dp"
        android:src="@drawable/menu_right"
        android:visibility="invisible" />
</RelativeLayout>```

在onBindViewHolder方法中,去修改邊距
@Override
public void onBindViewHolder(ItemHolder holder, int position) {
    if (null == bean) {
        return;
    }
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, DensityUtil.dip2px(86));     //DensityUtil是px轉(zhuǎn)dp的工具類
    int screenWidth = TCommonUtils.getScreenWidth(context);
    if (position <= 3) {  //因?yàn)槊苛袛?shù)量為4個(gè)镊尺,那么只需要將前4個(gè)item的寬度減少32dp
        screenWidth -= DensityUtil.dip2px(32);  //寬度減少32dp,即左右各16dp
        params.width = screenWidth;
    } else {
        params.width = screenWidth;
    }
    holder.rlParent.setLayoutParams(params);
    holder.tvTitle.setText(bean.get(position).getTitle());
}```

來看看效果


GIF.gif

可以看到默認(rèn)第二頁可以顯示一部分朦佩,而且后面每一頁都正常顯示,沒有像第二頁一樣侵入上一頁中

總結(jié)

實(shí)現(xiàn)這種分頁效果的方法有很多庐氮,但是選擇最容易并且效率最高的方式语稠,才是開發(fā)中需要的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弄砍,一起剝皮案震驚了整個(gè)濱河市仙畦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌音婶,老刑警劉巖慨畸,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異衣式,居然都是意外死亡先口,警方通過查閱死者的電腦和手機(jī)型奥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碉京,“玉大人厢汹,你說我怎么就攤上這事⌒持妫” “怎么了烫葬?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長凡蜻。 經(jīng)常有香客問我搭综,道長,這世上最難降的妖魔是什么划栓? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任兑巾,我火速辦了婚禮,結(jié)果婚禮上忠荞,老公的妹妹穿的比我還像新娘蒋歌。我一直安慰自己,他們只是感情好委煤,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布堂油。 她就那樣靜靜地躺著,像睡著了一般碧绞。 火紅的嫁衣襯著肌膚如雪府框。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天讥邻,我揣著相機(jī)與錄音迫靖,去河邊找鬼。 笑死兴使,一個(gè)胖子當(dāng)著我的面吹牛系宜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鲫惶,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼蜈首,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了欠母?” 一聲冷哼從身側(cè)響起欢策,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赏淌,沒想到半個(gè)月后踩寇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡六水,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年俺孙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辣卒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡睛榄,死狀恐怖荣茫,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情场靴,我是刑警寧澤啡莉,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站旨剥,受9級(jí)特大地震影響咧欣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜轨帜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一魄咕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蚌父,春花似錦哮兰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朝聋。三九已至嗡午,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間冀痕,已是汗流浹背荔睹。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留言蛇,地道東北人僻他。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像腊尚,于是被迫代替她去往敵國和親吨拗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,182評(píng)論 25 707
  • 內(nèi)容抽屜菜單ListViewWebViewSwitchButton按鈕點(diǎn)贊按鈕進(jìn)度條TabLayout圖標(biāo)下拉刷新...
    皇小弟閱讀 46,767評(píng)論 22 665
  • 工作當(dāng)中婿斥,公司的正常運(yùn)營是離不開各部門相互協(xié)調(diào)和配合劝篷,而要配合的好,就需要一個(gè)愉快通暢的溝通民宿;公司里領(lǐng)導(dǎo)一個(gè)指令的...
    原中勁法120閱讀 589評(píng)論 0 0
  • 2014-05-01 現(xiàn)實(shí)的骨支架 ——小城散漫表達(dá)系列之“骨支架” 火山 早些日子娇妓,有熟悉的友人發(fā)了一個(gè)視頻給我...
    朱明云閱讀 258評(píng)論 0 3
  • 本周繼續(xù)閱讀經(jīng)典名著《西游記》,前面寫了兩篇文章活鹰,一篇是《孫悟空為何大鬧天宮》哈恰,講的是關(guān)于領(lǐng)導(dǎo)與下屬的關(guān)系的事情只估;...
    王建設(shè)自媒體閱讀 6,185評(píng)論 0 0