如何通过单击 android 中的按钮打开和关闭视图

How to open and close a view by click on button in android

我有一些 buttonstextview(文本视图在按钮下方)。我想通过单击 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)