
动态添加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欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)