10

नई सामग्री डिज़ाइन (AppCompat का उपयोग करके) में, मैं नई टूलबार के ड्रॉवर आइकन के साथ कुछ क्रिया आइकन को संरेखित करने का प्रयास कर रहा हूं। कुछ की तरह:टूलबार आइकन के साथ एक आइकन संरेखित करें - एंड्रॉइड सामग्री डिजाइन

enter image description here

मुझे लगता है मैं सभी मैट्रिक्स सही ढंग से में देख रहा हूँ ...

Touch Target Size

enter image description here

समस्या यह है कि मैं पूरी तरह से संरेखित नहीं कर सकता है , क्योंकि 16px के बाएं पैडिंग के बाद, आइकन शुरू होना चाहिए, लेकिन आइकन में कुछ "पैडिंग" (सामग्री गिथब से आइकन) भी है, जैसे:

enter image description here

शायद मूर्खतापूर्ण है लेकिन मुझे नहीं पता कि मैं क्या खो रहा हूं। मैं छवि के अंदर पैडिंग को सही तरीके से संरेखित करने के लिए कैसे ध्यान में रख सकता हूं? मुझे उस क्रिया बार आइकन के साथ रेडियो बटन या चेकबॉक्स को संरेखित करने में एक ही समस्या है।

मैं कोड के इस टुकड़े की कोशिश की:

<RelativeLayout 
    android:id="@+id/image_button" 
    android:layout_width="72dp" 
    android:layout_height="wrap_content"> 

    <ImageView 
     android:layout_width="32dp" 
     android:layout_height="48dp" 
     android:layout_marginLeft="16dp" 
     android:layout_marginStart="16dp" 
     android:src="@drawable/ic_label_grey600_48dp" /> 
</RelativeLayout> 

लेकिन (पहले स्क्रीनशॉट मैं पोस्ट में) की तरह मेरे लिए संरेखित नहीं लगती है। यहाँ भी पूरी तरह से संरेखित दिखता है:

enter image description here

और लग रहा है पसंद खाता है कि 72px और गद्दी की 16px की तुलना में अधिक कुछ में ले जा रहा है।


अद्यतन

ठीक है, मुझे तुम लोगों और उदाहरण और कुछ कोड दिखा सकते हैं। इमेजिंग कि मेरी सूची आइटम में लेबल टेक्स्ट वाला रेडियो बटन है।

<RadioButton 
    style="?android:textAppearanceMedium" 
    android:layout_width="wrap_content" 
    android:layout_height="48dp" 
    android:layout_marginLeft="16dp" 
    android:paddingLeft="32dp" 
    android:singleLine="true"/> 

परिणाम:

enter image description here

enter image description here

मैं वास्तव में एक रेडियो बटन के रूप में एक कस्टम बटन का उपयोग किए बिना सही मूल्यों के marginLeft और paddingLeft स्थापित करने के लिए एक नियम नहीं दिख रहा है (और उस बटन के आयामों को जानना) ... < - जो एक बुरा विकल्प है क्योंकि कलर बटन मेरे उच्चारण के लिए लिया जाता है रंग (सामग्री की नई सामग्री)।

यह भी नए Gmail ऐप की तरह दिखता है कुछ संरेखण समस्याओं का सामना कर रहा है (जब मैं एक मेल का चयन देखते हैं, 1 मेल शीर्षक के साथ अब और मेल नहीं किया गया):

enter image description here

enter image description here

+0

हो सकता है कि एक स्क्रीनशॉट और कोड तो हम देख सकते हैं कि आप वास्तव में के साथ आया था के रूप में अपने संस्करण पोस्ट? –

+0

मैंने रेडियो बटन के साथ एक उदाहरण किया। एक्शनबार के साथ सिर्फ एक पाठ को संरेखित करना ठीक है (रेडियोधटन लेबल नहीं)। जैसा कि मैंने कहा, आइकन को संरेखित करने में भी समस्याएं हैं (जिन्हें आप अंदरूनी पैडिंग नहीं जानते हैं)। –

+0

अपने एडाप्टर में, newView/bindView में क्यों न केवल आइकन के मार्जिन को मैन्युअल रूप से समायोजित करें? – Codeversed

उत्तर

2

समस्या यह है कि मैं इसे पूरी तरह से संरेखित नहीं कर सकता, क्योंकि 16px के बाएं पैडिंग के बाद, आइकन शुरू होना चाहिए, लेकिन आइकन में भी कुछ "पैडिंग" (सामग्री github से आइकन)

हां, आइकन में कुछ पैडिंग होना चाहिए और यह उस स्क्रीन रिज़ॉल्यूशन के आधार पर भिन्न होता है जिस पर आइकन प्रदर्शित किया जाएगा। विभिन्न स्क्रीन घनत्व के लिए गद्दी:
mdpi             4px * 1.0 = 4px
hdpi               4px * 1.5 = 6px
xhdpi           4px * 2.0 = 8 पीएक्स
xxhd अनुकरणीय       4px * 3.0 = 12px
xxxhdpi   4px * 4.0 = 16px
इस गद्दी आइकन drawable में शामिल है और आप उसे निकाल नहीं करना चाहिए। icon live area

enter image description here

http://www.google.com/design/spec/style/icons.html#icons-system-icons

+0

धन्यवाद! मैं उस की तलाश में था। तो ... क्या एक शैली (रेज़ फ़ोल्डर्स में) बनाने के लिए यह समझ में आता है कि डीपीआई के आधार पर पैडिंग अलग होगी? मेरे रेडियो बटन उदाहरण के बारे में क्या? क्या यह उन नियमों का पालन भी कर रहा है? –

+0

मैं अभी आपको जवाब नहीं दे सकता क्योंकि मैंने इसका परीक्षण नहीं किया था। अगले दिन मुझे कुछ रेडियो बटन भी संरेखित करना होगा ताकि मैं आपको बता दूंगा। ध्यान रखें कि Google के ऐप्स जिनमें भौतिक डिज़ाइन है, अभी भी संरेखण के साथ कुछ समस्याएं हैं और AppCompat विजेट्स में कुछ समस्याएं हो सकती हैं। – vovahost

संबंधित मुद्दे