2012-06-26 48 views
7

Tôi có hình ảnh mà tôi muốn lát theo chiều ngang và tôi cần nó được lập trình theo kiểu lập trình. Tôi đã thử hai cách, và cả hai đều không hoạt động.Android hình ảnh lập trình lát nền làm hình nền

button_inner_shadow là hình ảnh navigation_background là xml mà giả sử ngói hình trên

1: Hình ảnh tiêu đề trực tiếp

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

2: sử dụng xml để hình ảnh ngói

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

Tôi đang làm gì sai?

Tôi cũng sử dụng setBackgroundResource để đặt thay đổi màu nền trong phần khác của chương trình và cho rằng đó là sự cố. Tôi đã thêm navigationTextViews[id].setBackgroundResource(0);, việc này sẽ xóa tài nguyên nền và không hoạt động với các giải pháp ở trên mà tôi đã sử dụng.

EDIT: navigationTextViews [] là một mảng của TextView

+0

lỗi nào bạn nhận được, đăng logcat? –

+0

Tôi không gặp lỗi. – heero

Trả lời

3

Vâng, đối với một số lý do, tùy chọn đầu tiên làm việc với một hình ảnh khác nhau, vì vậy tôi đoán vấn đề là hình ảnh đầu tiên của tôi (đó là một gradient với một số minh bạch) quá minh bạch.

Các vấn đề liên quan