ScrollView中gone与invisible影响高度的问题
敌花师 2015-01-06 10:43:52 最近展示一些内容的时候发现东西比较多,就索性放ScrollView中,刚开始只显示列表名字,点开列表名字再展示列表的内容,现在问题出现了,如果初始的时候把列表的内容设置setVisibility(View.GONE);那么当前ScrillView的高度就是刚开始显示列表名字的高度,然后下面空一片,只在那个高度滑动展示,我擦,于是,我就改成setVisibility(View.INVISIBLE);嗯,不错,的确高度是充满的,想看隐藏的内容下拉滑动就行了,但是INVISIBLE代表只是隐藏,元素占的高度还在,会展示的不合理,网上说设置ScrollView的属性android:fillViewport="true" ,试了,没用,猜想可以先设置INVISIBLE,待页面加载完后再改为GONE(一切为了那个高度充满),于是写了页面加载完事件,代码如下@Override
public void onWindowFocusChanged(boolean hasFocus) {
if (hasFocus) {
final LinearLayout llClassDate=(LinearLayout)this.findViewById(R.id.llClassDate);
llClassDate.setVisibility(View.GONE);
final SubjectLayout subject1 =(SubjectLayout)this.findViewById(R.id.detail1);
final SubjectLayout subject2 =(SubjectLayout)this.findViewById(R.id.detail2);
final SubjectLayout subject3 =(SubjectLayout)this.findViewById(R.id.detail3);
subject1.llItem.setVisibility(View.GONE);
subject2.llItem.setVisibility(View.GONE);
subject3.llItem.setVisibility(View.GONE);
}
}
,效果还是为INVISIBLE,写的这个事件似乎没用,是不是方法不对,有没有其他的方法,大神们,出出主意啊