2017-01-10 16 views
0

現実の世界では、コントロールパネルレイアウトの例は、独自のFrameLayout(フラグメントコンテナ)内に表示されます(アプリがタブレット上で実行されているかどうかによって異なります)。 「色」ボタン。 (マップとコントロールパネルの背景が異なります)親を無視する背景を表示しますか?

カラーピッカーから戻ってくると、関連するマップパーティクルとボタンの背景が新しい色で更新されます。

考えられるのは、ボタンの色がマップと正確に一致していることです(ユーザーが確認したように)。

もちろん、それはありません! (選択された色が255アルファを持たない限り)。

私はこれが「予想される動作」だと知っていますが、子の背景色が正しくレンダリングされるように、親の背景を(ボタンの子の後ろに)消し去る巧妙な(または「ハッキー」)

例コントロールパネルのレイアウトやコード

<LinearLayout android:id="@+id/settingsLL" 
    android:orientation="vertical"> 
    <LinearLayout android:id="@+id/oneOfMany" 
     android:orientation="horizontal"> 
     <TextView style="@style/wptedit_title" android:text="[some title]" /> 
     <Button style="@style/wptedit_color" android:id="@+id/colorBtn" /> 
    </LinearLayout> 
</LinearLayout> 

// Control panel background 
settingsLL.setBackgroundColor(0xFFD5FFDD);  
// Faint red tint gives desired map background not reflected by button 
colorBtn.setBackgroundColor(0x04FF0000);   

答えて

1

より良い質問がされているでしょう:

私は新しいを生成するために他の色とのマップのアルファ255の背景色を組み合わせるにはどうすればよいですコントロールパネルのボタンには、コントロールパネルの背景とは無関係に、コントロールパネルのボタンの外観がマップに完全に対応するように適用できます。

これまでのところ、とても良いです! (android.support.v4.graphics.ColorUtilsを参照)

colorBtn.setBackgroundColor(ColorUtils.compositeColors(pickedColor, mapBackgroundColor); 

はDOCOのためhereを参照してください。 ソースは私のSDKにありませんでした。私はそれをhereにしなければならなかった。

関連する問題