androidstudioにての質問です。
ボタンを一つ(id=button1)配置して、xmlで設定したテーマを適用しています。
このテーマを、コードにて動的に別のテーマに再設定はどのようなメソッドで可能でしょうか。
まず試したのが、
Button bt1 = (Button)findViewById(R.id.button1);
bt1.setBackgroundResource(R.style.MyButton2);
でスタイルを変更出来ると考えたのですが、当然引数として間違っていました。
どのようなメソッドで可能でしょうか?
根本的に方法が違うかもしれませんが・・・
以下設定状態
・activity_main.xmlファイルにButtonのテーマを設定している
⇒
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.sample.buttontest17.MainActivity" android:orientation="vertical">
</LinearLayout><Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" android:theme="@style/MyButton1" android:id="@+id/button1" />
・style.xmlファイルに2つのスタイルを設定
⇒
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="MyButton1" parent="Theme.AppCompat.Light">
<item name="colorControlHighlight">@color/magenta</item>
<item name="colorButtonNormal">@color/pink</item>
</style>
<style name="MyButton2" parent="Theme.AppCompat.Light">
<item name="colorControlHighlight">@color/deepgreen</item>
<item name="colorButtonNormal">@color/matcha</item>
</style>
</resources>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/12 14:12
退会済みユーザー
2016/03/12 14:34 編集