पर क्लिक किया गया मैं ImageButton
का उपयोग कर रहा हूं। लेकिन क्लिक करने पर मुझे हाइलाइट नहीं मिलता है। मैंने गुगल किया और कई ने चयनकर्ता का उपयोग करने का सुझाव दिया जहां एक और छवि प्रदर्शित होती है। क्या इसके आसपास कोई रास्ता है। केवल एक छवि का उपयोग करके और इसे हाइलाइट करने या इसे चमक प्रभाव प्रदान करके। ताकि उपयोगकर्ता जानता है कि बटन क्लिक किया गया है।एंड्रॉइड ने एक छविबटन को हाइलाइट किया जब
उत्तर
यह वास्तव में करना बहुत मुश्किल नहीं है। आपको 2 अलग-अलग .png फ़ाइलों या उसके जैसी कुछ भी बनाने की आवश्यकता नहीं है। उदाहरण के लिए, यदि आप एक बटन जो एक ढाल है है, और फिर इसे बदलना चाहते हैं बटन दबाया जाता है जब:
चरण 1:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="3dp" />
<gradient android:endColor="#8ba0bb" android:startColor="#43708f" android:angle="90" />
<stroke android:width="1dp" android:color="#33364252" />
</shape>
: डिफ़ॉल्ट बटन ढाल (drawable/default_button.xml) बनाएं
चरण 2: डिफ़ॉल्ट बनाएं बटन दबाया ढाल (drawable/default_button_pressed.xml):
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="3dp" />
<gradient android:endColor="#43708f" android:startColor="#8ba0bb" android:angle="90" />
<stroke android:width="1dp" android:color="#33364252" />
</shape>
चरण 3: चयनकर्ता (drawable/default_button_selector.xml) बनाएँ:
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true" android:drawable="@drawable/default_button_pressed" />
<item android:drawable="@drawable/default_button" />
</selector>
चरण 4 (वैकल्पिक): (मान/style.xml) बटन के लिए शैली बनाएँ:
<resources>
<style name="DefaultButton">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/default_button_selector</item>
</style>
</resources>
चरण 5: बटन (लेआउट/main.xml) का उपयोग करें:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<button style="@style/DefaultButton" />
</RelativeLayout>
जैसा कि आप देख सकते हैं, यह करना विशेष रूप से कठिन नहीं है।
lol @Zack 'जैसा कि आप देख सकते हैं, विशेष रूप से करना मुश्किल नहीं है। –
यह अच्छा है क्योंकि आप इस शैली का उपयोग करके आसानी से कई बटन जोड़ सकते हैं। –
क्या होगा यदि हमें विभिन्न पृष्ठभूमि छवियों के साथ बटन चाहिए? इस ठोस समाधान के लिए – Kishore
प्रत्येक बटन के लिए कई ड्रॉ करने योग्य सेट करने के क्रम में मैंने टच श्रोता में छवि बटन का रंग फ़िल्टर विशेषता सेट नहीं की है।
एक और पोस्ट में यहाँ कोड देखें:
+1। –
कई छवियों (दबाया, सामान्य आदि) बनाने के लिए होने और यहां तक कि चयनकर्ता बनाने के लिए की जरूरत नहीं है के बिना। setOnClickListener के बजाय setOnTouchListener का उपयोग करें। नीचे दिया गया कोड आपको क्लिक किए गए आइटम पर ग्रे ओवरले देगा।
((ImageButton)findViewById(R.id.myImageBtn)).setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: {
ImageButton view = (ImageButton) v;
view.getBackground().setColorFilter(0x77000000, PorterDuff.Mode.SRC_ATOP);
v.invalidate();
break;
}
case MotionEvent.ACTION_UP:
// Your action here on button click
case MotionEvent.ACTION_CANCEL: {
ImageButton view = (ImageButton) v;
view.getBackground().clearColorFilter();
view.invalidate();
break;
}
}
return true;
}
});
यह मेरे लिए काम किया। ACTION_UP पर रंग फ़िल्टर को साफ़ करना सुनिश्चित करें। –
मेरे एडीटी को पता नहीं था कि 'पोर्टरडफ' क्या था, संकेतित कोड पूर्ण होने के लिए 'android.graphics' (android.graphics.PorterDuff.Mode.SRC_ATOP) के साथ प्रत्यय – 1owk3y
मुझे बहुत मदद मिली, धन्यवाद! ACTION_UP के मामले में –
मैं ऐसा करने में कामयाब रहा !! सबसे पहले आप बटन Style.xml को ड्रायबल फ़ोल्डर में घोषित करें।
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/button_pressed" />
<item
android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/button_pressed" />
<item android:drawable="@drawable/button_normal" />
</selector>
तो फिर तुम drawable फ़ोल्डर में button_pressed.xml पैदा करते हैं।
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="@color/semiTransparentGnfrBlueColor" />
<stroke android:width="10dp" android:color="@android:color/transparent" />
</shape>
उसके बाद, आप drawable फ़ोल्डर में button_normal.xml पैदा करते हैं।
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadiusRatio="3"
android:shape="rectangle">
<solid android:color="@color/gnfrBlueColor"/>
<stroke android:width="10dp" android:color="@android:color/transparent" />
</shape>
आप डिफ़ॉल्ट रंगों का उपयोग कर सकते हैं, लेकिन अगर तुम मुझे पसंद करना चाहते हैं, तो आप रंग नाम की एक फ़ाइल की आवश्यकता है।मूल्यों फ़ोल्डर में एक्सएमएल और अंदर यह मान:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="gnfrBlueColor" type="color">#2A3748</item>
<item name="semiTransparentGnfrBlueColor" type="color">#602A3748</item>
<integer-array name="androidcolors">
<item>@color/gnfrBlueColor</item>
<item>@color/semiTransparentGnfrBlueColor</item>
</integer-array>
</resources>
अंत में आप अपने बटन या जो कुछ भी करने के लिए इस सेट:
savedAccountLoginButton.SetBackgroundResource(Resource.Drawable.buttonStyle);
नोटिस कि मैं रंग पारदर्शी के साथ एक स्ट्रोक सेट, क्योंकि जब आप पृष्ठभूमि बटन सेट करें आपका बटन बड़ा हो जाता है और इस चाल के साथ यह मूल बना रहता है।
यह एकमात्र तरीका है जिसे मैं इस प्रोग्रामेटिक रूप से हासिल कर सकता हूं।
आप XML द्वारा ऐसा करने के लिए करना चाहते हैं:
<Button
android:text="ENTRAR"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@drawable/buttonstyle"
android:textColor="@color/white"
android:textSize="18sp"
android:id="@+id/button1" />
- 1. छविबटन पारदर्शी पृष्ठभूमि
- 2. एंड्रॉइड छविबटन परिवर्तन छवि ऑनक्लिक
- 3. GridView पंक्ति को हाइलाइट जब एक शर्त
- 4. एंड्रॉइड होमस्क्रीन विजेट में छविबटन
- 5. पाठ को अचयनित/हाइलाइट किया गया है जब
- 6. स्टाइलिंग ने incremental खोज में टेक्स्ट हाइलाइट किया जेएस
- 7. एंड्रॉइड: सेट सूची दृश्य आइटम को "चयनित" (हाइलाइट किया गया)
- 8. विजेट छविबटन श्रोता सभी को
- 9. एंड्रॉइड - एक बार किसी पर क्लिक किए जाने पर ListView के आइटम को हाइलाइट किया गया
- 10. जावास्क्रिप्ट: जब उपयोगकर्ता ने
- 11. जेएसएफ ने एप्लिकेशन-स्कोप बीन शुरू किया जब संदर्भ
- 12. छविबटन पूर्ण छवि, गोल कोनों
- 13. कैसे डॉस ने एक साथ कई प्रक्रियाओं को निष्पादित किया?
- 14. फेसबुक ने साइडबार को कैसे लागू किया?
- 15. एंड्रॉइड फ्रैगमेंट्स ने ओरिएंटेशन चेंज पर पुनर्निर्मित किया
- 16. एंड्रॉइड: प्रोग्रामटेक्स्ट प्रोग्रामेट को हाइलाइट कैसे करें?
- 17. एंड्रॉइड - छविबटन पर रोलओवर के लिए अलग-अलग छवि
- 18. Google मानचित्र ने एंड्रॉइड
- 19. जीमेल ने धूमकेतु को कैसे लागू किया?
- 20. एंड्रॉइड - गतिविधि ने IntentReceiver
- 21. कैइलिक्स ने क्या किया गलत?
- 22. एंड्रॉइड ने देखा गया
- 23. उपयोगकर्ता ने एंड्रॉइड पर भुगतान किया है या नहीं?
- 24. एंड्रॉइड छविबटन - केंद्र में छवि नहीं मिल सकती
- 25. जब मैं सक्रिय होता हूं तो विजुअल स्टूडियो विंडो को हाइलाइट कैसे किया जा सकता है?
- 26. एक सक्रिय टैब को हाइलाइट करना - सीएसएस
- 27. आयात परियोजना ने लक्ष्य 'एंड्रॉइड -7'
- 28. सक्रिय विंडो से हाइलाइट किया गया टेक्स्ट
- 29. सर्वर ने प्रोटोकॉल उल्लंघन किया है। धारा = ResponseStatusLine जब एक टो प्रॉक्सी
- 30. एंड्रॉइड सेविंग ने एसडी कार्ड
आप कोड आप छवि बटन बनाने के लिए उपयोग कर रहे हैं दिखा सकते हैं? – Cristian