2012-02-20 12 views
1

私はsetEnabled(false)またはxmlファイルandroid:enabled="false"経由でのEditTextを無効にすると、背景色がグレーになります。どのようにEditTextを無効にし、背景色を白色に保ちますか?

enter image description here

と私は白い色android:background="@color/white"と背景を変更した場合、私は国境を失うことになります。

enter image description here

だから私の質問はのEditTextを無効にする(私は任意のダイアログがそれに長いクリックでアップウンチしたくない)、そのまま国境を維持する方法、ありますか?

+0

(これらのどれもなかったとき)、この答えは私の仕事: http://stackoverflow.com/a/7696282/ 1686442 –

答えて

1

私はそれを行う方法を見つけました:

android:editable="false" 
android:cursorVisible="false" 
editText.setOnTouchListener(new View.OnTouchListener() 
{ 
    @Override 
    public boolean onTouch(View v, MotionEvent event) 
    { 
     return true; 
    } 
}); 
+0

EditTextには「setEditable」はありません! – AVEbrahimi

+0

@AVEbrahimiはい、私に知らせてくれてありがとう、私は答えを更新しました! –

0

android:background="#FFFFFF"の代わりにTextViewをお試しください。

android:focusable="false"もお試しください。

3

自分の状態リスト描画を作成し、無効にした背景を有効な状態と同じにすることをお勧めします。独自の9パッチ画像を作成する必要があります。また、Android Open Sourceからリソースファイルを取得することもできます。

http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList

ここで私は私のEditText背景に使用サンプルです:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- Active tab --> 
    <item android:state_focused="true" 
      android:drawable="@drawable/edittext_bg_selected" /> 
    <!-- Inactive tab --> 
    <item android:state_focused="false" 
      android:drawable="@drawable/edittext_bg_unselected" /> 

    <item android:state_enabled="false" 
      android:drawable="@drawable/edittext_bg_unselected" /> 

    <!-- Add all of your other states --> 
</selector> 

あなたはあなたのためだけにどのような作品を作成するために、異なる状態を台無しにする必要があります。

関連する問題