1

私は、いくつかのEditTextの背景となる簡単なxml drawable happy_borders.xmlを持っています。 多くの/ほとんどのデバイス上で、それはに最初のものを集中し、その後、あなたが背景として何を取得するので、動作しませんもちろんAndroid EditText、すべての状態を取得する

 <EditText 
      android:background="@drawable/happy_borders 

だから、(1)の巨大なリストは、実際にこのような何か...ファイルhappy_states.xml

<?xml version="1.0" encoding="utf-8"?> 
<!-- res/drawable/rounded_edittext_states.xml --> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:state_pressed="true" 
     android:drawable="@drawable/happy_borders" /> 
    <item 
     android:state_focused="true" 
     android:drawable="@drawable/happy_borders" /> 
    <item 
     android:state_enabled="true" 
     android:drawable="@drawable/happy_borders" /> 
</selector> 

、その後

 <EditText 
      android:background="@drawable/happy_states 

問題ありませんが、

がありますかandroid:state_ ... - そこには何がありますか? selectorには、「すべての州でこれを行う」ことを暗示する方法はありますか?

(2) EditTextの中で。あなたはそれが "無国籍"であると言えますか?つまり、1つの背景だけを使用しますか?

EditTextの後ろに別のビューを置くほうが、多くの場合エンジニアリングが優れていることに注意してください。しかし、とにかく私は上記の(1)または(2)を達成する方法を知りたい - ドロイドのおかげです。

+0

"1つの背景のみを使用しますか?" - タッチスクリーンが存在しない(例えば、TV)または現在の対話(例えば、キーボード)に使用されていないUXでは、合焦状態と非合焦状態を区別することが重要である。 – CommonsWare

答えて

2

だけ異なる描画可能が必要な状態を定義して、最後にデフォルトの状態を追加します。

<?xml version="1.0" encoding="utf-8"?> 
<!-- res/drawable/rounded_edittext_states.xml --> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:state_pressed="true" 
     android:drawable="@drawable/happy_borders" /> 
    <item 
     android:drawable="@drawable/sad_borders" /> 
</selector> 

EDIT: 申し訳ありませんが、かなりのご質問にお答えしませんでした:

1)デフォルト以外の状態を定義しない場合、デフォルトの状態は「すべての状態に対してこれを行う」です。

2)私はおそらく解決策は、背景をnullまたは特定のdrawableに設定することだと考えています。

この明確にするには:

<?xml version="1.0" encoding="utf-8"?> 
<!-- res/drawable/rounded_edittext_states.xml --> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:drawable="@drawable/default_borders" /> 
</selector> 

は「何の状態を」持っていないために、必要とされているすべてです。すべての州を同じにする。

+0

偉大な答えのための送り状、感謝の@RomanKolomenskii! – Fattie

+0

うわー、ありがとう! @JoeBlow –

+0

それは何もありません。どういたしまして。再度、感謝します – Fattie

関連する問題