9

我有以下文本视图,它使用一个简单的导航栏 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" />

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

4

4 回答 4

13

在 TextView 后面放置一个 imageview 并使用 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>
于 2015-12-09T16:07:09.947 回答
5

设置为 a 的 android:background TextView在此上下文中)没有该属性android:scaleType="fitXY"(或任何其他值)。该属性位于ImageViews和上ImageButtons

话虽这么说,我会针对您目前的情况提出 2 条建议。

  1. 将 更改android:layout_width="wrap_content"android:layout_width="fill_parent"。当然,TextView 的可绘制集将尊重 TextView 的宽度。我只是推测(在 OP 中没有截图)内容在较大的显示器上不够宽以填充宽度。

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

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

于 2013-02-20T11:22:51.177 回答
0

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

于 2013-02-20T11:18:11.527 回答
0

您应该为背景图像使用九个补丁。希望这会帮助你。

于 2013-02-20T11:45:02.233 回答