设置 LinearLayout setVisibility 无效很奇怪

蛋蛋の忧伤 2013-10-09 04:41:10
<FrameLayout
android:id="@+id/FrameLayout_ms"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<ImageView
android:id="@+id/imageView_logio_a"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="showDanCiMessage"
android:src="@drawable/logo_gray" />

<LinearLayout
android:id="@+id/LinearLayout_jieShi_lay"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" android:visibility="gone" >

<TextView
android:id="@+id/textView_zwsy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="中文"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/line_qianHui"
/>

<TextView
android:id="@+id/textView_lj_en"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="英文例句"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/line_qianHui"
/>

<TextView
android:id="@+id/textView_lj_cn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="中文解释"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/selectTextColor"
/>
</LinearLayout>
</FrameLayout>


需要实现的功能是点击上面的那个图片,然后图片隐藏,把LinearLayout 这个布局里的东西全部显示出来
public void showDanCiMessage(View v1) {

ImageView iv = (ImageView) v1.findViewById(R.id.imageView_logio_a);
iv.setVisibility(View.GONE);//图片可以隐藏

View v = LayoutInflater.from(this).inflate(R.layout.layout_fuxidanci,
null);
LinearLayout lLay = (LinearLayout) v
.findViewById(R.id.LinearLayout_jieShi_lay);
lLay.setVisibility(View.INVISIBLE);//这里显示不出来,但是也不出错
各位看看
...全文
5417 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zabio 2016-03-03
  • 打赏
  • 举报
回复
是不是设置的animation 如果设置了需要clear
ZLofthealien 2014-10-22
  • 打赏
  • 举报
回复
Lay.setVisibility(View.INVISIBLE);改为Lay.setVisibility(View.VISIBLE); 试过可以
github_hloong 2014-01-20
  • 打赏
  • 举报
回复
引用 7 楼 hhay7758 的回复:
高手啊6楼谢谢谢谢
请问如何解决?我也是界面显示不出来,但是获取的状态是0
蛋蛋の忧伤 2013-10-09
  • 打赏
  • 举报
回复
高手啊6楼谢谢谢谢
tantahe 2013-10-09
  • 打赏
  • 举报
回复
lLay定义成全局的。 在onCreate里获取lLay = (LinearLayout) findViewById(R.id.LinearLayout_jieShi_lay); 然后在showDanCiMessage设置隐藏。
蛋蛋の忧伤 2013-10-09
  • 打赏
  • 举报
回复
public void showDanCiMessage(View v1) { ImageView iv = (ImageView) v1.findViewById(R.id.imageView_logio_a); iv.setVisibility(View.GONE);// 图片可以隐藏,没有问题 View v = LayoutInflater.from(this).inflate(R.layout.layout_fuxidanci, null);//获得layout_fuxidanci.xml布局文件 LinearLayout lLay = (LinearLayout) v .findViewById(R.id.LinearLayout_jieShi_lay);//获得布局对象 lLay.setVisibility(View.VISIBLE);// 这里显示不出来,但是也不出错 } 为什么呢
tantahe 2013-10-09
  • 打赏
  • 举报
回复
1楼正解。 View.INVISIBLE是view不可见,但是还是会占用空间。 View.GONE是view不可见,并且不会占用空间。 View.VISIBLE才是view可见。
蛋蛋の忧伤 2013-10-09
  • 打赏
  • 举报
回复
lLay.setVisibility(View.VISIBLE);这样也不行和之前一样 继续求解
蛋蛋の忧伤 2013-10-09
  • 打赏
  • 举报
回复
我先试试稍等
凉凉二点凉 2013-10-09
  • 打赏
  • 举报
回复
lLay.setVisibility(View.INVISIBLE);//View.VISIBLE吧 另外你怎么不直接LinearLayout lLay = (LinearLayout) v1.findViewById(R.id.LinearLayout_jieShi_lay);

80,360

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧