2012-06-18 162 views
4

我有一个XML布局,它定义了TextView50px x 320px谁的ID是TextView2
我想使用相同的TextView区域来有时显示图像。
我想以编程方式将该区域切换为TextViewImageView如何以编程方式将TextView更改为ImageView并返回

<LinearLayout 
    android:layout_width="320dp" 
    android:layout_height="50dp" > 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.35" 
     android:text="  " 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 
    </LinearLayout> 

回答

4

只需添加一个ImageView的在你的TextView的下面/旁边,并在你不想显示的那个上设置android:visibility =“gone”。

另外设置一个android:id =“@ + id/some_identifier”,以便您可以在代码中查找视图,并在切换时将TextView设置为View.GONE并将ImageView设置为View.VISIBLE。

<LinearLayout 
    android:layout_width="320dp" 
    android:layout_height="50dp" > 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.35" 
     android:text="  " 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <ImageView 
     android:id="@+id/image_view_1" 
     android:visibility="gone" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

</LinearLayout> 
+0

太棒了!谢谢。我可以使用相同的方法设置一个区域来执行多个任务。我知道我可以使用画布。但很高兴看到有另一种方式。 – user1445716

1

在这里,你有两个选择:

  1. 您可以设置TextView中的背景或设置文本,只要你想,基于某些条件。

  2. 可以separatly采取的ImageView第二,当你想图像设定的ImageView的能见度True和TextView的走了,而当你希望文本GONE TextView的True和的ImageView的再设置能见度

相关问题