मुझे लगता है मैं ऐसा ही किया था this thread.का रंग बदलना EditText के रेखांकन
की मदद से मेरी EditText के रेखांकन का रंग बदलने की कोशिश की है - इस android:background
@drawable/edt_bg_selector
के रूप में सेट के साथ EditText
है।
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:id="@+id/editText4"
android:layout_weight="1"
android:elevation="0dp"
android:background="@drawable/edt_bg_selector" />
मेरे edt_bg_selector
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@drawable/edt_bg_selected" />
<item android:state_focused="false" android:drawable="@drawable/edt_bg_normal" />
</selector>
... edt_bg_normal.xml
...
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:bottom="1dp"
android:left="-2dp"
android:right="-2dp"
android:top="-2dp">
<shape android:shape="rectangle" >
<stroke
android:width="1px"
android:color="@color/colorWhite" />
<solid android:color="#00FFFFFF" />
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
</shape>
</item>
</layer-list>
... और पिछले, edt_bg_selected.xml
।
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:bottom="1dp"
android:left="-2dp"
android:right="-2dp"
android:top="-2dp">
<shape android:shape="rectangle" >
<stroke
android:width="1px"
android:color="@color/colorWhite" />
<solid android:color="#00FFFFFF" />
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
</shape>
</item>
</layer-list>
इस कोड को मैं रेखांकन के रंग देख सकते हैं के साथ
एंड्रॉयड स्टूडियो के डिजाइन संपादक में सफेद करने के लिए बदल गया है। लेकिन जब मैं एंड्रॉइड डिवाइस पर इस प्रोजेक्ट को चलाता हूं, तो बदलाव नहीं किए जाते हैं। चयनित EditText
की अंडरलाइन मेरी primaryColor
है और अचयनित EditText
काला है।
एंड्रॉयड स्टूडियो डिजाइन संपादक:
परियोजना Android डिवाइस पर चलाएँ:
यह मेरा आवेदन के चयनित विषय से कोई लेना देना है? या मुझे क्या याद आया?
मैंने कोशिश की और यह भी काम करता है। केवल एक चीज है - एंड्रॉइड 6.0 मार्शमलो (एपीआई 23) context.getResources()। GetColor() को बहिष्कृत किया गया है इसलिए मैंने ContextCompat.getColor() का उपयोग किया। मेरी समस्या का समाधान से ऊपर मेरी टिप्पणी में है – MoOoG
मुझे लगता है कि जब आप फोकस खो देते हैं, तो वह उस रंग के साथ रहता है (इसे डिफ़ॉल्ट रंग में वापस लेना चाहिए) –