透明度を含めた色を背景色に指定したCardViewを表示しようとすると、内部に四角い枠が表示されてしまう。
問題の表示
といった具合にpaddingがあって、中にもう一つの四角が表示される。
この場合のXMLは以下のように指定している。
buttomColorは#BBFFFFFF として透明度をBBで指定している
<android.support.v7.widget.CardView android:layout_width="200dp" android:layout_height="200dp" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginTop="50dp" android:layout_marginStart="50dp" android:id="@+id/teCardView" app:cardBackgroundColor="@color/buttomColor" app:cardCornerRadius="1dp"> </android.support.v7.widget.CardView>
表示したい結果
これは本来は以下のようにしたい。
表示方法
方法はJAVA側で再度指定すること。当初、XML側でpaddingの設定などが原因では?と探りましたが、そうではありませんでした。以下が解決策。
teCardView.setBackgroundColor(getResources().getColor(R.color.mapButtom));
もう一つの方法としてはXML側で透明度を指定せず6桁表記にし、JAVA側で
teCardView.setAlpha(0.8f);
とする方法で指定する。どちらの方法でもよいものの、下の方法のほうが互換性はあるらしい・・?
ただし、スマートではない気がしますね。googleには修正していただきたいものです。