前提・実現したいこと
Androidでオーバーレイするアプリを開発しています。
最近ボタンをマテリアルデザインに対応したいと思い、Activity
からAppCompatActivity
を
継承するようにMainActivity
を変更しました。
その結果、activity_main.xml
についてはボタン背景など正しく表示できたのですが、
同様の手順で、Service
としてオーバーレイ表示するViewについても変更すると、ボタンのテキストのみが
表示され、ボタン背景色が表示されなくなりました。
こちらをMainActivity
と同様にボタンを表示できるようにするにはどうすればいいのでしょうか?
該当のソースコード
overlay.xml
Xml
1<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 android:orientation="horizontal" 3 android:layout_width="wrap_content" 4 android:layout_height="wrap_content" 5 android:gravity="center" 6 android:id="@+id/linearLayoutMain" 7 style="?android:attr/buttonBarStyle"> 8 <Button 9 android:id="@+id/test" 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:layout_margin="5dp" 13 android:layout_weight="1" 14 android:backgroundTint="#992979ff" 15 android:text="@string/test" 16 android:textColor="@color/white" 17 android:minHeight="45dp" 18 android:minWidth="45dp" 19 android:textSize="10sp" 20 style="?android:attr/buttonBarButtonStyle"/> 21</LinearLayout>
試したこと
①android:backgroundTint
をandroid:background
に変更すると、プレビューともに背景が透明で変わりませんでした。
②その後、追加でstyle="?android:attr/buttonBarButtonStyle
を消すと、プレビューはグレーの背景になりますが、実機では背景が透明のままでした。
③その後、追加で、style="?android:attr/buttonBarStyle"
も消して、マテリアルデザイン対応前に戻しても背景は透明なままでした。
以上です。
個人的にオーバーレイに配置するViewにマテリアルデザインのテーマが適用されていない?ような気がするのですが、それがあっているのかも、その対応方法もわかりませんでした。
どなたかご存知の方ご教授よろしくお願いいたします。
あなたの回答
tips
プレビュー