2013-02-20 15 views
6

Arka plan görüntüsü olarak basit bir navbar png dosyası kullanan aşağıdaki metin görünümü var.Android: Ölçek TextView arka plan resmi XY'ye sığdır

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

sorun bu çözmek, nasıl daha büyük ekranlarda navbar ekrana sığacak şekilde yatay olarak ölçekleme olmamasıdır: İşte kod?

cevap

5

android yerine örneğin match_parent için deneyin: (bu bağlamda yılında ) bir TextView ayarlı arka plan niteliği yoktur android:scaleType="fitXY" (veya bu konuyla ilgili başka herhangi bir değer). Bu özellik ImageViews ve ImageButtons adreslerinde bulunur.

Şu anki durumunuz için 2 öneride bulunurdum.

  1. değiştirin android:layout_width="fill_parent" için android:layout_width="wrap_content". Doğal olarak, TextView'a çizilebilen set, TextView'un genişliğine saygı gösterecektir. Ben sadece (OP ekran görüntüsü yok), içeriğin genişliğini doldurmak için daha geniş ekranda yeterince geniş olmadığını söylüyorum.

  2. Henüz yapmadıysanız, bir Shape Drawable XML veya 9-patch kullanın. Bu, çoklu ekran boyutlarında tutarlı kaliteyi sağlayacaktır.

Eğer tamamen hatalıysam, ekran görüntüsü gönderir. Bu işleri daha net hale getirecek. ;-)

0

Sen 'highier' görünümü yapmak için android:layout_height="50dp" değiştirmeniz gerekir, 50dp

0

Arka plan resimleri için nine patch kullanmalısınız. Umarım bu size yardımcı olur. ... hizaya:

4

TextView arkasında bir imageView koyun ve android kullanan TextView büyüklüğüne tekabül boyutu var olmak

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