2013-02-20 48 views
6

我有以下textview,它使用简单的导航栏PNG文件作为其背景图像。 下面的代码:Android:缩放TextView背景图像以适合XY

<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" /> 

的问题是,在更大的屏幕导航栏不水平扩展以适应屏幕,我该如何解决这个问题?

回答

5

了Android:背景(在这种情况下)设置为TextView没有属性android:scaleType="fitXY"(或任何其他值)。该属性可在ImageViewsImageButtons上找到。

这就是说,我会为你目前的情况提出两点建议。

  1. android:layout_width="wrap_content"更改为android:layout_width="fill_parent"。自然,TextView的可绘制设置将遵循TextView的宽度。我只是猜测(没有屏幕截图在OP)内容不够宽,在较大的显示器上填满宽度。

  2. 如果您还没有这样做,请使用Shape Drawable XML9-patch。这将确保跨多个屏幕尺寸的一致质量。

如果我完全错了,请发布一个截图。这会让事情更清楚。 ;-)

0

您需要修改android:layout_height="50dp"为了使视图“highier”,尝试例如match_parent而不是50dp

4

把一个imageview的TextView的后面,使它的大小采用了android对应的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>