How to remove internal Image padding (Top, Left and Bottom) of an Android Checkbox -
मेरे पास इसके ऊपर एक TextView के साथ Android में एक चेकबॉक्स है:
& lt; linearLayout android : Layout_width = "wrap_content" android: layout_height = "wrap_content" एंड्रॉइड: अभिविन्यास = "ऊर्ध्वाधर" एंड्रॉइड: padding = "@ dimen / default_margin" & gt; & LT; TextView एंड्रॉयड: आईडी = "@ + id / tv_edit_checkbox" एंड्रॉयड: layout_width = "wrap_content" एंड्रॉयड: layout_height = "wrap_content" एंड्रॉयड: singleLine = "false" एंड्रॉयड: layout_margin = "0dp" एंड्रॉयड: गुरुत्वाकर्षण = "center_vertical | center_horizontal "एंड्रॉइड: टेक्स्ट =" @ स्ट्रिंग / संपादन_चेकबॉक्स "/ & gt; & LT; चेक बॉक्स एंड्रॉयड: आईडी = "@ + id / cb_edit" एंड्रॉयड: layout_width = "wrap_content" एंड्रॉयड: layout_height = "wrap_content" एंड्रॉयड: layout_gravity = "केन्द्र" एंड्रॉयड: जाँच = "true" / & gt; & Lt; / LinearLayout & gt; चेकबॉक्सेज़ के साथ समस्या यह है कि यह आंतरिक है "छवि" इसके चारों ओर एक अदृश्य सीमा है। इसे कैसे निकालना है? मैंने कोशिश की है android: padding = "- 5dp" लेकिन यह केवल किसी कारण के लिए चेकबॉक्स के दाहिने तरफ काम करता है, शीर्ष, बायां और नीचे नहीं (मेरी मुख्य चिंता शीर्ष है)। एक्लिपस ग्राफिकल लेआउट विंडो में चेकबॉक्स का एक स्क्रीनशॉट यहां है:
लाइनरलेआउट चयनित: चेकबॉक्स चयनित: दूसरी तस्वीर में आप देख सकते हैं कि चेकबॉक्स के आसपास कुछ पैडिंग हैं जब आप इसे चुनते हैं। मुझे यह हटाया जाना है (विशेषकर शीर्ष पर), ताकि टेक्स्ट और चेकबॉक्स के बीच की जगह कम हो जाए। यहां एक चित्र है जब मेरे पास पैडिंग = "- 5dp" होगा:
चेकबॉक्स चयनित: पीएसः अगर किसी को सिर्फ एक चेकबॉक्स और पाठ फ़ील्ड के साथ समाधान पता है, तो मैं लाइनर लेआउट और टेक्स्टव्यू को हटा सकता हूं, जबकि अभी भी चेकबॉक्स के ऊपर पाठ रहा है, मैं इसकी सराहना करता हूं। कस्टम स्टाइल और टेक्स्ट के साथ एक चेकबॉक्स एक अतिरिक्त टेक्स्ट व्यू के साथ एक LineairLayout के अंदर चेकबॉक्स की तुलना में बेहतर है। (मुझे पता है कि यह एक अलग प्रश्न के लिए और कुछ है, लेकिन मैं इसे यहां से जोड़ता हूं क्योंकि इसमें प्राथमिकता बहुत ज्यादा नहीं है। चेकबॉक्स के पैडिंग को छोड़कर, सब कुछ पहले ही काम कर रहा है।)
ठीक है, मैंने LineairLayout को एक रिलेटिव लेआउट में बदल दिया है, और मैं मार्जिन को माइनस डीपी में बदल सकता हूं। यह मेरा अंतिम परिणाम है:
<कोड> & lt; RelativeLayout एंड्रॉयड: layout_width = "wrap_content" एंड्रॉयड: layout_height = "wrap_content" एंड्रॉयड: गद्दी = "@ Dimen / default_margin" & gt; & LT; TextView एंड्रॉयड: आईडी = "@ + id / tv_edit_checkbox" एंड्रॉयड: layout_width = "wrap_content" एंड्रॉयड: layout_height = "wrap_content" एंड्रॉयड: layout_alignParentTop = "true" एंड्रॉयड: singleLine = "false" एंड्रॉयड: गुरुत्वाकर्षण = "center_horizontal" एंड्रॉयड : पाठ = "@ स्ट्रिंग / संपादन_चेकबॉक्स" / & gt; & LT; चेक बॉक्स एंड्रॉयड: आईडी = "@ + id / cb_edit" एंड्रॉयड: layout_width = "wrap_content" एंड्रॉयड: layout_height = "wrap_content" एंड्रॉयड: layout_below = "@ आईडी / tv_edit_checkbox" एंड्रॉयड: layout_centerHorizontal = "true" एंड्रॉयड: layout_marginTop = " -10dp "android: checked =" true "/ & gt; & Lt; / RelativeLayout & gt; यह निम्नलिखित परिणाम देता है:
RelativeLayout चयनित: यह पाठ और चेकबॉक्स के बीच की जगह को बदलता है। मेरे लिए यह वही है जो मैं चाहता हूं, लेकिन यह अभी भी समझा नहीं है कि एंड्रॉइड चेकबॉक्स की आंतरिक छवि को इसके ऊपर, बायां और नीचे की तरफ एक पैडिंग मिला है। अब यह विचार है कि एंड्रॉइड के कौन से विचार थे, लेकिन यह बहुत बुरा था एक..यह आंतरिक छवि पर कोई पैडिंग का उपयोग करना बेहतर नहीं था और उसके बाद कुछ डिफ़ॉल्ट आंतरिक मार्जिन / पैडिंग होते हैं जो उपयोगकर्ताओं द्वारा बदला जा सकता है ..
OR संपादित करें: तुम भी साथ एक ही परिणाम प्राप्त कर सकते हैं LinearLayout : <कोड> & lt; LinearLayout एंड्रॉयड: layout_width = "wrap_content" एंड्रॉइड: layout_height = "wrap_content" एंड्रॉइड: अभिविन्यास = "ऊर्ध्वाधर" & gt; & LT; TextView एंड्रॉयड: layout_width = "wrap_content" एंड्रॉयड: layout_height = "wrap_content" एंड्रॉयड: गुरुत्वाकर्षण = "center_horizontal" एंड्रॉयड: गद्दी = "0dp" एंड्रॉयड: पाठ = "सभी उत्पादों के लिए" एंड्रॉयड: textSize = "10sp" / & gt; & LT; चेक बॉक्स एंड्रॉयड: आईडी = "@ + id / checkBox_id" एंड्रॉयड: layout_width = "wrap_content" एंड्रॉयड: layout_height = "wrap_content" एंड्रॉयड: layout_marginTop = "- 10dp" एंड्रॉयड: layout_gravity = "center_horizontal" एंड्रॉयड: layout_weight = "1" एंड्रॉइड: padding = "0dp" / & gt; & Lt; / LinearLayout & gt;
Comments
Post a Comment