我有一个linearlayout并且里面还有几个按钮。我想让它在触摸时可见,再触摸它时看不见。
我该怎么做?
答案 0 :(得分:25)
LinearLayout one = (LinearLayout) findViewById(R.id.one);
one.setVisibility(View.GONE);
我建议您在onclick事件中使用GONE而不是INVISIBLE,因为
View.GONE
布局的位置将不可见,并且应用程序似乎没有未使用的空间,而View.INVISIBLE
将留下用于布局的间隙
答案 1 :(得分:3)
在代码上添加布尔值
boolean flag = false;
然后在xml上的线性布局上添加 android:clickable = true
然后使用此代码作为参考
your_linear_layout = new OnClickListener(){
@Override
public void onClick(View v) {
if (flag){
// means true
your_linear_layout.setVisibility(View.INVISIBLE);
flag = false;
}
else{
your_linear_layout.setVisibility(View.VISIBLE)
flag = true;
}
}
};
还没试过这个,但这应该有用..
干杯
答案 2 :(得分:2)
将setOnTouchListener添加到linearLayout获取触摸事件:
linearLayout.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent event){
if (event.getAction() == MotionEvent.ACTION_DOWN) {
// show-hide view here
return true;
}
if (event.getAction() == MotionEvent.ACTION_UP) {
// show-hide view here
return true;
}
return false;
}
});
使视图可见使用yourview.setVisibility(View.VISIBLE)
和使用隐形使用yourview.setVisibility(View.INVISIBLE)
答案 3 :(得分:0)
你应该是用户
隐形 - :mButton.setVisibility(View.INVISIBLE);
Vsible - :mButton.setVisibility(View.VISIBLE);
将此代码放入按钮的onclick列表器中,并检查是否有条件。