我有一个线性布局,里面还有几个按钮。我想让它在触摸时可见,再次触摸时不可见。
我怎样才能做到?
LinearLayout one = (LinearLayout) findViewById(R.id.one);
one.setVisibility(View.GONE);
我建议您在 onclick 事件中使用 GONE 而不是 INVISIBLE,因为
View.GONE
布局的位置将不可见,并且应用程序中不会出现未使用的空间,这与会View.INVISIBLE
留下用于布局的间隙不同
在您的代码上添加一个布尔值
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;
}
}
};
还没有尝试过,但这应该可以工作..
干杯
将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)
你应该用户
无形的 -:mButton.setVisibility(View.INVISIBLE);
可见-: mButton.setVisibility(View.VISIBLE);
将此代码放入按钮的 onclick 侦听器中,并检查是否条件。