当我尝试消失文本时出现问题,我正在制作一个带有五个按钮的程序,而不是更改背景颜色(按钮向下)但我想要做的是在点击屏幕后文本应该消失,但当我点击屏幕时,我的按钮上升,我知道如何解决这个问题。
myLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v){
myText = (TextView) findViewById(R.id.textView1);
myText.setVisibility(TextView.INVISIBLE);
if(myLayout2.getVisibility()!=View.INVISIBLE)
myLayout2.setVisibility(View.INVISIBLE);
else
myLayout2.setVisibility(View.VISIBLE);
}
});
答案 0 :(得分:4)
使用
myText.setVisibility(View.INVISIBLE)
http://developer.android.com/reference/android/view/View.html#attr_android:visibility
visible 0 Visible on screen; the default value.
invisible 1 Not displayed, but taken into account during layout (space is left for it).
gone 2 Completely hidden, as if the view had not been added.
答案 1 :(得分:2)
使用View.INVISIBLE而不是View.GONE
myLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v){
myText = (TextView) findViewById(R.id.textView1);
myText.setVisibility(TextView.GONE);
if(myLayout2.getVisibility()!=View.INVISIBLE )
myLayout2.setVisibility(View.INVISIBLE );
else
myLayout2.setVisibility(View.VISIBLE);
}
});
答案 2 :(得分:0)
您需要使用View.INIVISIBLE
否则textView将会消失,而您无法再将其显示。
答案 3 :(得分:0)
你应该用这个:
myText.setVisibility(View.INVISIBLE);
这会隐藏屏幕上的视图并保留屏幕的引用(边距)以及此视图上其他控件的依赖关系。如果您打算使用它:
myText.setVisibility(View.GONE);
然后视图将从屏幕上消失,其他控制依赖项将被清除,就像您有android:below
或android:above
所以View.INVISIBLE
是良好做法。