Androidアプリ開発で技術的にはまった事は、
今後の為にも記録として残すべきだと思い、さっそくブログ立ち上げで投稿。
ノートにまとめていってもいいんだけど、今流行りのブログをメモ帳代わりにしてみよう。
さっそく、フォーカス設定でちょっとはまった事。
mNumInput1.requestFocus();でフォーカスをセットしているはずなのに、
フォーカス時のレイアウトがセットされない。。。
行き詰ること数時間、<item>タグの設定順が問題ということに気付く。
drawable/dialog_EditText_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 押されていないときの定義 -->
<item android:state_pressed="false">
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid
android:color="@color/cornflowerblue" />
<corners
android:radius="3dp"/>
<stroke
android:width="1dp"
android:color="@color/white"/>
</shape>
</item>
<!-- 押されたときの定義 -->
<item android:state_pressed="true"
android:state_focused="false">
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid
android:color="@color/cornflowerblue" />
<corners
android:radius="3dp"/>
<stroke
android:width="3dp"
android:color="@color/darkorange"/>
</shape>
</item>
<!-- フォーカスされたときの定義 -->
<item android:state_focused="true">
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid
android:color="@color/cornflowerblue" />
<corners
android:radius="3dp"/>
<stroke
android:width="3dp"
android:color="@color/green"/>
</shape>
</item>
</selector>
上から順に読み込んでいくようで、一番目のandroid:state_pressed="false" もしくは2番目のandroid:state_pressed="true">で処理が完了してしまい、3番目のandroid:state_focused="true"は処理されていなかったようだ。
<!-- フォーカスされたときの定義 -->を一番上に持ってくることで解決!
0 件のコメント:
コメントを投稿