Как использовать форму, нарисованную вместе с изображением? - PullRequest
35 голосов
/ 07 июня 2011

У меня есть эта трудность, чтобы в моем LinearLayout было и закругленный угол, и фоновое изображение.

Я знаю, что могу получить закругленный угол, используя нарисованный по фигуре XML, но если я помещу нарисованную фигуру в качестве фона моего LinearLayout с помощью android:background=@drawable/rounded_corner, тогда я не смогу назначить какое-либо изображение для использования в качестве фона.

Как я могу получить как закругленный угол с фоновым изображением в моей LinearLayout? Любая помощь будет оценена. Спасибо!

Ответы [ 2 ]

34 голосов
/ 07 июня 2011

Вы можете использовать LayerDrawable , который может содержать столько слоев (фигур или изображений), сколько вам нужно. Вы можете создать его как ресурс или программно.

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/rounded_corners" android:id="@+id/rounded_corners"/>
    <item android:drawable="@drawable/additional_image" android:id="@+id/additional_image" />
</layer-list>
3 голосов
/ 16 декабря 2014

для тех, кто ищет другой ответ

в xml

<string-array name="ulke_isimleri">
    <item>kan</item>
    <item>kebapeli</item>
</string-array>

<array name="ulke_gorselleri">
    <item>@drawable/kan1</item>
    <item>@drawable/esyalar_kebap_adana</item>
</array>

в существующем или общем

 String[] ulkeAdlari =getResources().getStringArray(R.array.ulke_isimleri);
 TypedArray ulkeGorselleri = getResources().obtainTypedArray(R.array.ulke_gorselleri);

как функция

 @Override
    public Drawable getDrawable(int position) {

         Drawable[] drawable = new Drawable[] { 
                 ulkeGorseli.getDrawable(position   ) 
                 ,
                 new TextDrawable(ulkeAdlari[ position   ]  )
         };
        return new LayerDrawable(drawable);
    }
...