androidgridview動態
1. android中gridView怎麼在代碼里動態設置每一列的寬度
1.android:layout_height="wrap_content"
2.layout.addView(progressBar, new LayoutParam(LayoutParam.FILL_PARENT, LayoutParam.FILL_PARENT));
參考看看就知道了吧
2. Android Studio 如何在代碼中動態添加GridView
DecorView 是android 界面的頂級View ,當前界面的整個即為DecorView。DecorView為FrameLayout,而DecorView 一般會包含一個豎直方向的LinearLayout。這個豎直方向的LinearLayout 一般分為兩個部分(具體Android版本和主題有所不同),上部分為標題欄,下部分為內容欄,而內容欄的id 為 android.R.id.content, 內容欄也是FrameLayout,我們使用setContentView(),的布局加入的就是內容欄。
動態添加View 一般是添加在我們自己的布局文件里,而setContentView時加入的我們的布局是內容欄的第一個子View,所以我們需要獲取到我們的布局對應的View。
####如何獲取DecorView?
在Activity 中直接調用 getWindow().getDecorView()
####如何獲取ContentView?
在Activity中調用
FrameLayout contentView = (FrameLayout)getWindow().getDecorView().findViewById(android.R.id.content);
或直接:
FrameLayout contentView = (FrameLayout)activity.findViewById(android.R.id.content);
####獲取我們填充的布局
ViewGroup viewGroup = (ViewGroup)contentView.getChildAt(0);
####添加View
3. 怎樣動態設置GridView的寬和高(Android)
以下兩種方式都可以做到:
一、在xml布局文件中設置,wrap_content即表示根據gridView的內容自使用寬高,代碼如下:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
二、在代碼中動態設置,可以在對gridview賦值之後,計算gridview的寬高,然後進行設置:
java">intheight=20;//此處的高度需要動態計算
intwidth=30;//此處的寬度需要動態計算
LinearLayout.LayoutParamslinearParams=newLayoutParams(width,height);
gridview.setLayoutParams(linearParams);//使設置好的布局參數應用到控制項
需要注意的是:如果你的gridview是嵌套在ScrollView中,那麼,你需要重寫gridview控制項,不然gridview只顯示一行的問題(即高度不夠),具體重寫方式,可以參考下面代碼:
/**
*@authorhnbcinfo
*自定義GridView控制項,解決在ListView或ScrollView中使用GridView導致GridView顯示不全的問題
*當前應用:時間軸中,圖片顯示
*/
{
publicGridViewForScrollView(Contextcontext,AttributeSetattrs){
super(context,attrs);
}
publicGridViewForScrollView(Contextcontext){
super(context);
}
publicGridViewForScrollView(Contextcontext,AttributeSetattrs,intdefStyle){
super(context,attrs,defStyle);
}
@Override
publicvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){
intexpandSpec=MeasureSpec.makeMeasureSpec(
Integer.MAX_VALUE>>2,MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec,expandSpec);
}
}
4. Android gridview動態添加一條數據,並且是放在第一個的位置,求大神分享下
gridview的adapter數據源是一個list,然絕慧後你想添加的時候用list.add(0,數據)把數據添困悔加到第一個位置,然後adapter在汪宏正notify一下就行了
5. Android gridview動態添加一條數據,並且是放在第一個的位置,求大神分享下
gridview的adapter數據源是一個list,然後你想添加的時候用list.add(0,數據)把數據添加到第一個位置,然後adapter在notify一下就行了
6. android的gridview能不能動態改變行列顯示數
不知道行不行,你可以試試下面的方法,,如果這個方法不行 那應該就不行
setNumColumns(int numColumns) 設置顯示的列數 (有可能還需要調用一下Adapter的NotifyDataSetChanged)
要控制行數 只需要控制Adapter的 getCount回調的返回值就行了 然後notify刷新下!