我在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(...)获取其他Text并重绘自身,则不会再看到Image。如果此LinearLayout外的其他视图更改其大小并重新绘制(例如已放大/缩小的MapView),则图像也会消失。 如果我在注释//中从此TextView设置所有.setText(...),则ImageView中的图片将保持可见状态并且不再消失。 但我不想没有那个TextView ...... 我已经硬编码了视图的高度和宽度,但这没有用。
任何想法?
修改 我刚刚在测试中看到,通过将不同的Text设置为TextView,它可以获得更大的宽度(甚至比我在* xml中所说的更大)如果此TextView变得太宽,则Image会消失。也许解决方案可以解决问题,这可以防止TextView变得过宽。 Some1知道怎么做?
答案 0 :(得分:1)
尝试使用.setBackgroundDrawable
答案 1 :(得分:0)
您应该将不同视图的单位更改为dp而不是sp。 sp通常用于实际文本大小。因此,基本上将layout_width和layout_height更改为使用dp单位,并将textSize保持为sp单位。
请更改这些并重新运行您的应用程序,如果这改变了结果,请告诉我。如果它不起作用,请添加一些Java代码,以便我可以更好地分辨出问题所在。