用代碼實(shí)現(xiàn)GridLayout平均分布樣式

本人發(fā)帖宗旨:
1.不長(zhǎng)篇大論。
2.發(fā)文前簡(jiǎn)單搜一下是不是有人發(fā)過(guò)(簡(jiǎn)單的)睡蟋。
3.直說(shuō)知識(shí)點(diǎn)影锈,基礎(chǔ)知識(shí)請(qǐng)自行補(bǔ)習(xí)。
4.隨性

前提:使用android.support.v7.widget.GridLayout包豌鹤,兼容性強(qiáng)了不少亡哄。用的Layout Inspector展示,GridLayout子View大小由GridLayout管理布疙,所以想自己控制的朋友請(qǐng)?jiān)贕ridLayout處理完后再設(shè)置大小蚊惯。

Paste_Image.png

熟悉GridLayout的朋友一定發(fā)愁動(dòng)態(tài)添加子View,固定View直接寫一個(gè)布局文件就行了灵临,可以用app:layout_columnWeight="1"和 app:layout_rowWeight="1"實(shí)現(xiàn)平均分布截型,但是動(dòng)態(tài)添加子View就不行了。

(⊙o⊙)儒溉,那是功夫不到家宦焦,我扒了半天代碼,定位到weight和spec有關(guān),聽(tīng)我娓娓道來(lái)波闹。

  1. 然后就是怎么設(shè)置spec到GridLayout上有效果
    為子View設(shè)置layout布局參數(shù)酝豪,注意是這個(gè)GridLayout.LayoutParams mLayoutParams = new GridLayout.LayoutParams(rowSpec,columnSpec);

  2. rowSpec和columnSpec怎么來(lái)的?
    mLayoutParams.columnSpec = GridLayout.spec(GridLayout.UNDEFINED, 1, 1.0f);Spec構(gòu)造器有好多個(gè)精堕,這個(gè)三個(gè)參數(shù)中
    第一個(gè)為位置坐標(biāo)(android:layout_row 和 android:layout_column )
    第二個(gè)參數(shù)為合并(android:layout_rowSpan和android:layout_columnSpan跨行列顯示)
    第三個(gè)參數(shù)為權(quán)重weight孵淘,float類型;

3.往GridLayout里添加設(shè)置了以上布局的View就行了歹篓,結(jié)束瘫证。

4.其他
父布局

  <LinearLayout
        android:id="@+id/root"
        android:layout_width="match_parent"
          android:layout_height="200dp"
          android:orientation="vertical"></LinearLayout>

自定義View(還不知道具體寫啥)

public class ImageLayout extends GridLayout {
  public ImageLayout(Context context, AttributeSet attrs, int defStyle) {
      super(context, attrs, defStyle);
  }


public ImageLayout(Context context) {
    super(context);
    init();
}


private void init() {
    setBackgroundColor(Color.GRAY);
    setColumnCount(5);
    setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));

    for (int mI = 0; mI < 10; mI++) {
        ImageView mImageView = new ImageView(getContext());
        GridLayout.LayoutParams mLayoutParams = new GridLayout.LayoutParams();
        mLayoutParams.columnSpec = GridLayout.spec(GridLayout.UNDEFINED, 1, 1.0f);
        mLayoutParams.rowSpec = GridLayout.spec(GridLayout.UNDEFINED, 1, 1.0f);
        mImageView.setLayoutParams(mLayoutParams);
        mImageView.setScaleType(ImageView.ScaleType.CENTER);
        mImageView.setImageResource(R.drawable.ic_launcher);
        addView(mImageView);
    }
  }
  }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市庄撮,隨后出現(xiàn)的幾起案子背捌,更是在濱河造成了極大的恐慌,老刑警劉巖洞斯,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件毡庆,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡巡扇,警方通過(guò)查閱死者的電腦和手機(jī)扭仁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)厅翔,“玉大人乖坠,你說(shuō)我怎么就攤上這事〉睹疲” “怎么了熊泵?”我有些...
    開(kāi)封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)甸昏。 經(jīng)常有香客問(wèn)我顽分,道長(zhǎng),這世上最難降的妖魔是什么施蜜? 我笑而不...
    開(kāi)封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任卒蘸,我火速辦了婚禮,結(jié)果婚禮上翻默,老公的妹妹穿的比我還像新娘缸沃。我一直安慰自己,他們只是感情好修械,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開(kāi)白布趾牧。 她就那樣靜靜地躺著,像睡著了一般肯污。 火紅的嫁衣襯著肌膚如雪翘单。 梳的紋絲不亂的頭發(fā)上吨枉,一...
    開(kāi)封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音哄芜,去河邊找鬼貌亭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛忠烛,可吹牛的內(nèi)容都是我干的属提。 我是一名探鬼主播,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼美尸,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了斟薇?” 一聲冷哼從身側(cè)響起师坎,我...
    開(kāi)封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎堪滨,沒(méi)想到半個(gè)月后胯陋,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡袱箱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年遏乔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片发笔。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡盟萨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出了讨,到底是詐尸還是另有隱情捻激,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布前计,位于F島的核電站胞谭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏男杈。R本人自食惡果不足惜丈屹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伶棒。 院中可真熱鬧旺垒,春花似錦、人聲如沸苞冯。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)舅锄。三九已至鞭达,卻和暖如春司忱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背畴蹭。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工坦仍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叨襟。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓繁扎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親糊闽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子梳玫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

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

  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 6,358評(píng)論 0 17
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,513評(píng)論 25 707
  • 一.四大組件: Android四大組件分別為activity盼忌、service、content provider掂墓、b...
    Ludiwgbet閱讀 1,704評(píng)論 0 39
  • 乾坤扭轉(zhuǎn)天地翻谦纱, 人間變幻起波瀾。 誰(shuí)言女子疏重任君编? 名垂青史花木蘭跨嘉!
    刀劍嘯九天閱讀 146評(píng)論 0 0
  • 周六,我和彭澤在公司值班啦粹。百無(wú)聊賴之際偿荷,他開(kāi)啟打印機(jī),A4紙緩緩出來(lái)的沙沙聲打破了辦公室的寧?kù)o唠椭。我問(wèn)他在打印什么跳纳?...
    余想閱讀 345評(píng)論 3 3