前提・実現したいこと
AndroidStudioでアプリを作成しています。
初心者で、コーディング技能があまりないことをご了承ください。
今作成しているアプリはタップした箇所の色が変更して画面遷移をします。
(selecterのstate_pressedを使用しています)
連続して同じレイアウトの画面を表示する場合、タップ時間が短いと
次画面で色が変更された状態で表示されてしまいます。
(正常な動作 画面タップ→タップした箇所の色が変わる→画面遷移)
(現在の動作 画面タップ→画面遷移→前画面でタップした色が変わる)
タップ時間が長い(画面の色が変わってから画面遷移をした場合)と正常に動作するのですが……
タップ時間が短い場合、Java側でLinearLayoutの背景色指定の命令を打ち消すようにコーディングをしたいのですが、
上手くいきません。
御助力頂ければと思います。
xml
<LinearLayout android:id="@+id/menu_row" android:layout_width="match.parent" android:layout_height""match.parent" android:background="@drawable/color_state"> <ここにテキスト> </LinearLayout>
color_state(xml)
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" > <color android:color="#66000000" /> </item> <item android:state_selected="false"> <color android:color="#33000000" /> </item> </selector>
Java
画面を生成するときに以下の記述を挿入 LinearLayout linearLayout = (LinearLayout)findViewById(R.id.menu_row); linearLayout.refreshDrawbleState();
試したこと
xmを打ち消したいのですが使用方法がわかりません。
正しい記述方法を教えて頂きたいです。
あなたの回答
tips
プレビュー