2011-07-03 46 views
4

Androidウィジェットでは、どのように背景に色を付けることができますが、makeは同時に透明になりますか?スクリーンショットの時計の背景をご覧ください。これは黒色で透明な背景です。自分のウィジェットでどうすればいいですか? HTC Senseのスクリーンショットのようなシステムカラーも参照できますか?ヒントありがとう!透明なウィジェットの背景?

enter image description here

android:background="#TTRRGGBB

答えて

6

- RR、GG、BBは、(16進数)、赤、緑、青の成分であり、TTは、透明性成分です。透明度50%の場合はTT = 80(16進数)、透明度がない場合はFF、完全透明の場合は00を使用します。

または、スクリーンショットが使用されているように、透過コンポーネントを含むpngを使用します。

10

リソースのアルファチャンネル(=透過チャンネル)を指定する必要があります。

背景を塗りつぶすためにXML res(たとえば、colors.xmlから)に標準色を使用している場合、最初の2つの数字を変更することによってアルファを指定することができます。 例のフォーマット:ここで

<color name="transparent_red">#99FF0000</color> 

99 00にそれを変更すると、全体の色が見えないようになります、赤色固体を生成するFFに変更し、アルファ値を示します。その間で値を変更することでこれをテストするだけです。

詳細については、hereをご覧ください。

のように、実際のピクチャ/ビットマップを使用する場合は、アルファチャンネルを指定してPNGイメージを作成する必要があります。 ビットマップの作成に使用しているソフトウェアによって異なります。 これを行うためにIllustratorやInkscapeのようなベクターグラフィックプログラムをお勧めしましたが、色を指定するとアルファ値があります。そこに作成した後、画像をPNG形式で書き出し、アプリのリソースに追加します。

7
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:background="@android:color/transparent"> 

    <ImageView 
     android:id="@+id/widget_image" 
     android:layout_width="110sp" 
     android:layout_height="110sp" 
     android:layout_gravity="center" 
     android:src="@drawable/appicon" /> 
</LinearLayout> 

レイアウトの背景を透明に設定するだけです。以下のコードを追加してください。これは私とそのウィジェットのために働いた。

android:background="@android:color/transparent"