如何通过单击 android 中的按钮打开和关闭视图
How to open and close a view by click on button in android
我有一些 buttons
和 textview
(文本视图在按钮下方)。我想通过单击 button
来显示 textview
。这意味着当我仍然没有点击 button
时,所以 textview
应该关闭(不隐藏),而不使用可见性 属性。喜欢下图:
你有什么建议??
嗯。如果我没理解错的话,你需要这样的东西:
public void onClick(View cview) throws IOException {
switch (cview.getId()) {
case R.id.button1:
//hide
textview.setVisibility(View.GONE);
break;
case R.id.button2:
//show
textview.setVisibility(View.VISIBLE);
break;
}
}
正确的方法是使用可见性属性。
但是如果要折叠内容,只需在onClick事件中将TextView的高度属性设置为0即可。这可以帮到你。
TextView test = (TextView)findViewById(R.id.myTextView);
test.setHeight(0);
一种实现方式是为每个按钮创建一个翻译动画供其他按钮使用(以便为相应的文本视图创建空间)
所以你会按下按钮 1,所有其他人都会滑下来。
例如,对于按钮 1:
</p>
<pre><code>private TranslateAnimation translateDown= new TranslateAnimation(0,0,0,200);
translateDown.setDuration(300);
translateDown.setFillAfter(true);
private TranslateAnimation translateUp= new TranslateAnimation(0,0,200,0);
translateDown.setDuration(300);
translateDown.setFillAfter(true);
button1.onClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
if(textView1.isHidden(){
button2.startAnimation(translateDown);
button3.startAnimation(translateDown);
button4.startAnimation(translateDown);
textView1.show();
}
else{
textView1.hide();
button2.startAnimation(translateUp);
button3.startAnimation(translateUp);
button4.startAnimation(translateUp);
}
});
所有情况都可以使用相同的翻译(必须创建相同数量的space)
我有一些 buttons
和 textview
(文本视图在按钮下方)。我想通过单击 button
来显示 textview
。这意味着当我仍然没有点击 button
时,所以 textview
应该关闭(不隐藏),而不使用可见性 属性。喜欢下图:
你有什么建议??
嗯。如果我没理解错的话,你需要这样的东西:
public void onClick(View cview) throws IOException {
switch (cview.getId()) {
case R.id.button1:
//hide
textview.setVisibility(View.GONE);
break;
case R.id.button2:
//show
textview.setVisibility(View.VISIBLE);
break;
}
}
正确的方法是使用可见性属性。
但是如果要折叠内容,只需在onClick事件中将TextView的高度属性设置为0即可。这可以帮到你。
TextView test = (TextView)findViewById(R.id.myTextView);
test.setHeight(0);
一种实现方式是为每个按钮创建一个翻译动画供其他按钮使用(以便为相应的文本视图创建空间)
所以你会按下按钮 1,所有其他人都会滑下来。
例如,对于按钮 1:
</p>
<pre><code>private TranslateAnimation translateDown= new TranslateAnimation(0,0,0,200);
translateDown.setDuration(300);
translateDown.setFillAfter(true);
private TranslateAnimation translateUp= new TranslateAnimation(0,0,200,0);
translateDown.setDuration(300);
translateDown.setFillAfter(true);
button1.onClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
if(textView1.isHidden(){
button2.startAnimation(translateDown);
button3.startAnimation(translateDown);
button4.startAnimation(translateDown);
textView1.show();
}
else{
textView1.hide();
button2.startAnimation(translateUp);
button3.startAnimation(translateUp);
button4.startAnimation(translateUp);
}
});
所有情况都可以使用相同的翻译(必须创建相同数量的space)