2013-02-20 47 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>