9

水平に並べて表示したい画像があり、プログラムで実行する必要があります。2 つの方法を試しましたが、どちらも機能しません。

button_inner_shadow は画像です navigation_background は上記の画像を並べて表示する xml です

1: 画像を直接並べる

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

2: xml を使用して画像を並べて表示する

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

ナビゲーション_背景

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

私は何を間違っていますか?

setBackgroundResourceまた、プログラムの別の部分で背景色を変更するように設定するために使用しましたが、それが問題だと思いました。バックグラウンド リソースを削除する必要があるを追加navigationTextViews[id].setBackgroundResource(0);しましたが、使用した上記のソリューションでは機能しません。

編集: navigationTextViews[] は TextViews の配列です

4

1 に答える 1

4

なんらかの理由で、最初のオプションは別の画像で機能したため、問題は最初の画像 (透明度のあるグラデーション) が透明すぎることだと推測しています。

于 2012-06-26T01:47:36.093 に答える