如何在Android应用程序上更改文本可见性

时间:2014-05-05 08:42:07

标签: java android visibility

我是一名学生,我正在开发我的第一个andorid应用程序。 我想创建可以隐藏和显示文本的e按钮,所以我在片段上写了这个:

<TextView android:id="@+id/textView1" 
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true"
     android:layout_marginTop="36dp" 
     android:text="@string/t1"
     android:visibility="invisible"/>

  <ImageButton android:id="@+id/imageButton2" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
          android:layout_below="@+id/textView1"
         android:layout_centerHorizontal="true"
         android:layout_marginTop="38dp"
          android:onClick="click_button1"
          android:src="@drawable/pippo"
         android:text="@string/s1" />

以及主要内容:

 public void click_button1 (View view){ 
        TextView textview=(TextView)findViewById(R.id.textView1); 
           textview.setVisibility(View.VISIBLE);
     }

on main我可以用什么来改变可见性?!

4 个答案:

答案 0 :(得分:0)

在xml布局上创建View.GONE视图。因为它不会占用你活动的记忆。您可以通过hierarchyviewer验证这一点。单击按钮后,按钮可见性消失,使文本视图可见。

答案 1 :(得分:0)

使用

boolean bool=false;
         TextView textview;
         ViewGroup parent;

             parent = (ViewGroup) view.getParent();
             textview=(TextView)parent.findViewById(R.id.textView1);

                public void click_button1 (View view){ 

              if(bool){
                      textview.setVisibility(View.VISIBLE);
                      bool=true;
              }else{
                    textview.setVisibility(View.INVISIBLE);
                    bool=false;
                }
                  }

答案 2 :(得分:0)

您应该使用:

textview.setVisibility(View.GONE);

textview.setVisibility(View.INVISIBLE);

Google Documentation说:

  

View.GONE此视图不可见,并且不占用任何空间   布局目的。

     

View.INVISIBLE此视图不可见,但仍占用空间   布局目的。

答案 3 :(得分:0)

尝试TextView点击Button上的 public void click_button1 (View view){ TextView textview=(TextView)parent.findViewById(R.id.textView1); if(!textview.isShown()) //Check if the view is currently visible or not. textview.setVisibility(View.VISIBLE); else textview.setVisibility(View.INVISIBLE); } 可见和不可见。

{{1}}