2011年4月25日月曜日

EditText長押し時に選択ダイアログを表示させないようにする

何もしないonLongClickメソッドを持つonLongClickListenerを作ってセットする。

EditTextフォーカス時にIMEが表示されないようにする

editable="false"にする。

このとき、digits属性があると有効にならないので注意。

2011年4月6日水曜日

ボタンの状態変化

ボタンの背景、文字、(あれば)アイコンそれぞれにStateListを用意する。

ボタンの種類×3のStateListを書くことになるので、作業量が多そう。
どうにかならないものか。

2011年4月5日火曜日

ListView選択状態カスタマイズ

ListViewでchecked状態のitemをラジオボタンやチェックボックスでなくセレクタのような形で表示するには。

本当は選択状態のキープは推奨されていない。様々な入力モードを持つデバイスをサポートするため。
http://www.techdoctranslator.com/resources/articles/articles-index/touch-mode
http://y-anz-m.blogspot.com/2010/08/androidthe-world-of-listview-item.html

そのため、choiceModeがある。ただ、choiceModeを指定するときは、行のレイアウトにデフォルトではandroid.R.layout.simple_list_item_single_choiceを使う。
これは、チェックボックスやラジオボタンのついたTextView。
sdk/platforms/android-x/data/res/layout/simple_list_single_choice.xml

なので、チェックボックス/ラジオボタンを非表示にする+上手く選択中表示をする、などの手で実現できる。
http://groups.google.com/group/android-sdk-japan/browse_thread/thread/d1b256728c759f01/4a6815f62d1f3616?hl=ja&lnk=gst&q=ListView%E3%81%AEonItemClick%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%81%AB%E9%96%A2%E3%81%97%E3%81%A6#4a6815f62d1f3616

ここでは言及されていないけど、R.attr.state_checkedというstateもあるので、こちらが使えれば、セレクタで選択中表示の部分は実装できるかも。

ProgressDialogのカスタマイズ

Spinnerをデフォルトとは違う輪に画像にしたいなら:
animated-rotateタグのXMLDrawableと、好きな画像をdrawableに入れて、XMLDrawableをProgressDialog.setIndeterminateDrawableで指定する。

XMLDrawableは、
sdk/platforms/android-x/data/res/drawable/progress_medium.xml等を参考にする。
(framesCount, frameDuration 属性は削除する。)

Spinnerを輪ではない何かのアニメーションにしたいなら:
ProgressDialog.setIndeterminateDrawableで自作フレームアニメーションを指定する。
http://d.hatena.ne.jp/narazoro/20101106/1289060564