2012-06-18 5 views
4

TextView 상자를 정의하는 XML 레이아웃이 있습니다 50px x 320px ID가 TextView2 인 경우.
때때로 이미지를 표시하기 위해 동일한 TextView 영역을 사용하고 싶습니다.
프로그래밍 방식으로 해당 영역을 TextView 또는 ImageView으로 전환 할 수있게하려고합니다.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

그냥 이미지 뷰를 추가 반면 텍스트 뷰가 사라 때 아래/옆에 TextView를 놓고 표시하고 싶지 않은 부분에 android : visibility = "gone"을 설정하십시오.

전환 할 때 코드에서보기를 찾고 View.GONE으로 TextView를 설정하고 View.VISIBLE로 ImageView를 설정할 수 있도록 android : id = "@ + id/some_identifier"도 설정하십시오.

<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. 당신이 원하는 때마다 특정 조건에 따라, 텍스트 뷰의 배경 설정하거나 텍스트를 설정할 수 있습니다.

  2. 당신은 separatly 이미지 뷰를 취할 수
  3. 차 당신은 진정한 이미지 뷰의 이미지 설정 가시성을 원하고 사라 텍스트 뷰 진정한 및 이미지 뷰의 다음 설정 가시성 텍스트 싶을 때

관련 문제