我有以下textview,它使用一个简单的navbar png文件作为其背景图像。 这是代码:
<TextView
android:id="@+id/titleNameText"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:background="@drawable/navbar"
android:gravity="center_horizontal"
android:singleLine="true"
android:textColor="@color/WHITE"
android:textSize="18sp"
android:textStyle="bold" />
问题是,在较大的屏幕上,导航栏不会水平缩放以适应屏幕,我该如何解决这个问题?
答案 0 :(得分:7)
将一个imageview放在TextView后面,并使用android:align ...:
使其大小与TextView的大小相对应<RelativeLayout android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignBottom="@id/titleNameText"
android:layout_alignLeft="@id/titleNameText"
android:layout_alignRight="@id/titleNameText"
android:layout_alignTop="@id/titleNameText"
android:scaleType="fitXY"
android:src="@drawable/navbar"/>
<TextView
android:id="@+id/titleNameText"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:background="@drawable/navbar"
android:gravity="center_horizontal"
android:singleLine="true"
android:textColor="@color/WHITE"
android:textSize="18sp"
android:textStyle="bold"/>
</RelativeLayout>
答案 1 :(得分:5)
将android:background设置为TextView
(此上下文中的 )没有属性android:scaleType="fitXY"
(或任何其他值)。该属性位于ImageViews
和ImageButtons
。
话虽如此,我会就你目前的情况提出2条建议。
将android:layout_width="wrap_content"
更改为android:layout_width="fill_parent"
。当然,TextView的drawable设置将尊重TextView的宽度。我只是推测( OP 中没有截图)在较大的显示器上内容不够宽以填充宽度。
如果您尚未这样做,请使用Shape Drawable XML或9-patch。这将确保多种屏幕尺寸的一致质量。
如果我完全错了,请发布一个屏幕截图。这将使事情变得更加清晰。 ; - )
答案 2 :(得分:0)
您需要修改android:layout_height="50dp"
才能使视图“更高”,例如match_parent
而不是50dp
答案 3 :(得分:0)
您应该使用nine patch作为背景图片。希望这会对你有所帮助。