2013-09-28 4 views
1

Я хочу добавить фоновое изображение к своей линейной компоновке, содержащей 2 текстовых вида. Я сделал это с использованием макета фрейма. Но изображение не масштабируется в соответствии с размером моей линейной компоновки .. может кто-нибудь помочь? Ниже приведен мой файл макетаНастройка высоты изображения в андроиде

ответ

0

Вы можете использовать андроид: фоновый атрибут вашего LinearLayoutr. Установите изображение как линейный макет фона.

+0

сделал это .. я сделал линейную ширину макета для wrap_content .. все же изображение имеет высоту больше, чем требуется для двух текстовых просмотров. – user2827009

+0

, в этом случае у вас есть 2 подхода: 0. Укажите высоту корневого контейнера (framelayout) и установите тип шкалы fitXY для изображения. 1.use для фона, растяжимого ресурса, такого как девять патчей или подобная форма, определенная в drawables (это лучший подход). – x90

0

В вашем ImageView, изменить android:layout_height="wrap_content" к android:layout_height="fill_parent"

0

Я предлагаю вам более простой способ. U на самом деле не нуждается в кадре, чтобы делать то, что вы пытаетесь сделать. U может установить фоновое изображение в самом линейном режиме. См. Следующий код.

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:background= "@drawable/yourBackgroundImage > 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/hello_world" /> 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" /> 

</LinearLayout> 
+0

да, но я хочу, чтобы высота линейного макета не превышала двух текстовых просмотров, но используя этот метод (я изменил layout_height для обертывания содержимого) высота устанавливается как высота изображения, которое больше, я хочу уменьшить масштаб высота изображения ... – user2827009

+0

Ohkk! Сначала я не совсем понял вашу проблему. Вы можете попробовать «android: adjustViewBounds =« true »в вашем . Также сделайте ширину и высоту представления родителя и ребенка« wrap_content »(т. Е. FrameLayout, ImageView и ваш LinearLayout). – epiphany27

+0

nope ... все еще не работает .. – user2827009

1

Вы можете установить фон линейной компоновки с помощью

android:background="imagename" 
0

андроида: фон должен работать, но это еще один способ, чтобы соответствовать изображение АККО

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/FrameLayout1" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/linearLayout1" 
    android:layout_alignLeft="@+id/linearLayout1" 
    android:layout_alignRight="@+id/linearLayout1" 
    android:layout_alignTop="@+id/linearLayout1" 
    android:scaleType="fitXY" 
    android:src="@drawable/button_update_normal" /> 

<LinearLayout 
    android:id="@+id/linearLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/hello_world" /> 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" /> 
</LinearLayout> 

Смежные вопросы