Android Studio 如何在代码中动态添加GridView?

Android Studio 如何在代码中动态添加GridView?,第1张

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

GridView的一些属性:

1.android:numColumns=”auto_fit” //GridView的列数设置为自动,也可以设置成2、3、4……

2.android:columnWidth=”90dp " //每列的宽度,也就是Item的宽度

3.android:stretchMode=”columnWidth"//缩放与列宽大小同步

4.android:verticalSpacing=”10dp” //两行之间的边距

5.android:horizontalSpacing=”10dp” //两列之间的边距

6.android:cacheColorHint="#00000000" //去除拖动时默认的黑色背景

7.android:listSelector="#00000000"//去除选中时的黄色底色

8.android:scrollbars="none" //隐藏GridView的滚动条

9.android:fadeScrollbars="true" //设置为true就可以实现滚动条的自动隐藏和显示

10.android:fastScrollEnabled="true" //GridView出现快速滚动的按钮(至少滚动4页才会显示)

11.android:fadingEdge="none"//GridView衰落(褪去)边缘颜色为空,缺省值是vertical。(可以理解为上下边缘的提示色)

12.android:fadingEdgeLength="10dip" //定义的衰落(褪去)边缘的长度

13.android:stackFromBottom="true" //设置为true时,你做好的列表就会显示你列表的最下面

14.android:transcriptMode="alwaysScroll" //当你动态添加数据时,列表将自动往下滚动最新的条目可以自动滚动到可视范围内

请参考我以前写的一篇帖子,是给listview的,但好像不能使用button,最好把button换成imageview,反正imageview也是能点击的。你遇到这个问题是因为你给每一个item设置了事件,然后当你点击这个item的时候,里面的button被点中了。解决办法是继承view,写一个自定义的view,重写他的 setPressed 方法,这个方法里面判断它在点中的同时是不是父view也被点中了,如果父view也被点中的话,之间return,否则调用super的setpressed方法。这样就能使你的子view不在父view点中的时候获得事件。帖子在http://blog.csdn.net/huihuangui/article/details/6768629


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11173516.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存