2012-06-26 25 views
7

Mam obraz, który chcę ułożyć poziomo i potrzebuję go zrobić programowo. Próbowałem na dwa sposoby, a oba nie działają.Android programowo przedstawia obraz jako tło

button_inner_shadow jest obrazem navigation_background jest xml że przypuszczam, aby płytki Powyższe zdjęcie

1: dachówka obraz bezpośrednio

BitmapDrawable navigationBackground = new BitmapDrawable(BitmapFactory.decodeResource(
       getResources(), R.drawable.button_inner_shadow)); 
navigationBackground.setTileModeX(Shader.TileMode.REPEAT); 
navigationTextViews[id].setBackgroundDrawable(navigationBackground); 

2: użyj xml do piktogramowego

navigationBackground = new BitmapDrawable(BitmapFactory.decodeResource(
       getResources(), R.drawable.navigation_background)); 
navigationTextViews[id].setBackgroundDrawable(navigationBackground); 

navigation_background

<?xml version="1.0" encoding="utf-8"?> 
<bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
    android:dither="true" 
    android:src="@drawable/button_inner_shadow" 
    android:tileMode="repeat" /> 

Co robię źle?

Używam również setBackgroundResource do ustawienia zmiany koloru tła w innej części programu i uważam, że to był problem. Dodałem navigationTextViews[id].setBackgroundResource(0);, który powinien usunąć zasób tła, a to nie działa z powyższymi rozwiązaniami, których używałem.

EDIT: navigationTextViews [] jest tablicą TextView

+0

jaki błąd dostałeś, opublikuj logcat? –

+0

Nie widzę błędu. – heero

Odpowiedz

3

Cóż, z jakiegoś powodu, pierwsza opcja pracował z innym obrazem, więc jestem zgadywania jest problem, że mój pierwszy obraz (co jest gradient przejrzystość) była zbyt przejrzysta.

Powiązane problemy