<xml version="10" encoding="utf-8">
<LinearLayout xmlns:android=">
使用ScrollView作为最外层滑动控件来嵌套其他滑动控件,会有莫名其妙的位移BUG,因此应该换一种滑动控件作为最外层的容器。两个滑动控件嵌套,内部滑动控件的高度默认会是0,除非你用定值设置,如果不想用定值设置,那么就需要自定义这个滑动控件,手动的计算该滑动控件。ViewPager嵌套ListView会有数据少的ListView底部出现一大片的空白,因此这里我们也需要自定义ViewPager来动态计算当前的ListView的高度。ListView作为顶层滑动控件的子滑动控件ViewPager的子滑动控件,高度默认当然也是0,这里我们也需要进行自定义ListView计算高度。
Android动态改变View控件大小的方法:
1、声明控件参数获取对象 LayoutParams lp;
2、获取控件参数: lp = 控件idgetLayoutParams();
3、设置控件参数:如高度。 lpheight -= 10;
4:、使设置生效:控件idsetLayoutParams(lp);
例如如要把Imageview下移200px: ImageViewsetPadding( ImageViewgetPaddingLeft(), ImageViewgetPaddingTop()+200, ImageViewgetPaddingRight(), ImageViewgetPaddingBottom());
把设置的方法放在一个方法里面,然后把Id当做参数传进去,比如Ridtext1的话,可以这样用一个变量String
baseId="Rid",这个方法可以写成setConfig(String
strId){String
currentId=baseId+strId;
//后面的代码按下面来
}
然后再用下面的方法
public
static
int
getResourdIdByResourdName(Context
context,
String
ResName){
int
resourceId
=
0;
try
{
Field
field
=
RdrawableclassgetField(ResName);
fieldsetAccessible(true);
try
{
resourceId
=
fieldgetInt(null);
}
catch
(IllegalArgumentException
e)
{
logshowLogDebug("IllegalArgumentException:"
+
etoString());
}
catch
(IllegalAccessException
e)
{
logshowLogDebug("IllegalAccessException:"
+
etoString());
}
}
catch
(NoSuchFieldException
e)
{
logshowLogDebug("NoSuchFieldException:"
+
etoString());
}
return
resourceId;
}将currentId作为参数传入就可以了,这时在调用findViewById找,,,
采纳啊,大哥,写了这么多
以上就是关于Android 表格布局中 控件高度不一致问题问题全部的内容,包括:Android 表格布局中 控件高度不一致问题问题、android如何获取控件宽度、android viewpage的高度怎么匹配嵌套listview等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)