Gridview的stretchMode詳解附自動(dòng)寬度

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:verticalSpacing="35px"?

android:horizontalSpacing="5px"?

android:numColumns="auto_fit"?

android:columnWidth="100px"?

android:stretchMode="columnWidth"?

Android:gravity="center"?/>

@Override

public View getView(int position, View convertView, ViewGroup parent) {

if(convertView==null){

convertView=inflater.inflate(R.layout.grid_item,parent,false);

params = convertView.getLayoutParams();

params.height=(parent.getHeight()-10)/2;

convertView.setLayoutParams(params);

}

if(convertView.getHeight()==0){

params.height=(parent.getHeight()-10)/2;

convertView.setLayoutParams(params);

}

return convertView;

}

在Adapter中的getView方法中通過計(jì)算減去水平或數(shù)值距離,可以精確的控制一屏可以現(xiàn)實(shí)多少GridView Item


stretchMode:只有在指定了columnWidth的時(shí)候才會(huì)有作用,如果指定了stretchMode而沒有給columnWidth的值,則item不顯示,就是寬為0;

spacingWidth: 剩余的空間用來填空間隙(頂行開始顯示item,最邊上沒有間隙)

spacingWidthUniform:剩余的空間用來填空間隙(所有的item居中顯示,就是最邊上也會(huì)有間隙)

columnWith:剩余的間隙用item的寬度去填充,就是item的寬度自動(dòng)縮放

none:colunm不縮放,頂行開始顯示

horizontalSpacing并不是第一優(yōu)先級(jí):就是如果設(shè)置的item寬度過大,會(huì)擠一塊,并不會(huì)保證一個(gè)最小的間隙。

如果不指定stretchMode,默認(rèn)情況下,item頂行顯示,item的寬度會(huì)根據(jù)屏幕除掉horizontalSpacing之后的剩余寬度自動(dòng)縮放,此時(shí)會(huì)保證horizontalSpacing所設(shè)置的值。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容