LinearLayout に TextView と ImageView があります。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="72sp"
android:orientation="horizontal"
android:keepScreenOn="true" >
<TextView
android:id="@+id/instructionView"
android:layout_width="245sp"
android:layout_height="70sp"
android:textSize="18sp" />
<ImageView
android:contentDescription=""
android:id="@+id/ma_landmarkView"
android:layout_width="70sp"
android:layout_height="70sp"
android:layout_gravity="right" />
</LinearLayout>
私のコードでは、別の画像を ImageView (すべての 68x68 ピクセル サイズ) に設定します。
myView.setImageDrawable(this.getResources().getDrawable(
R.drawable.mypicture));
問題は、TextView が .setText(...) によって他のテキストを取得し、それ自体を再描画すると、イメージが表示されなくなることです。この LinearLayout の外にある他のビューがサイズを変更して再描画された場合にも、イメージは消えます (たとえば、ズームイン/ズームアウトされた MapView)。// コメントでこの TextView からすべての .setText(...) を設定すると、ImageView からの画像は表示されたままになり、もう消えません。しかし、私はその TextView なしで行きたくありません...私はすでにビューの高さと幅をハードコーディングしましたが、それは役に立ちません。
何か案は ?
編集: テストで見たところ、異なる Text を TextView に設定すると、この TextView の幅が広すぎると、幅が大きくなり (*xml で述べたよりも大きくなります)、画像が消えます。おそらく、回避策が機能し、TextView の幅が広すぎるのを防ぐことができます。Some1は方法を知っていますか?