2012-01-24 12 views
5

में एक संपादन टेक्स्ट को केंद्रित करने में मदद की ज़रूरत है, मैं एक रैखिक लेआउट में लंबवत और क्षैतिज रूप से एक संपादन को केंद्रित करने की कोशिश कर रहा हूं, लेकिन यह काम नहीं कर रहा है। वास्तव में बहुत ही सरल समस्या है।एक रैखिक लेआउट

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" 
android:background="@drawable/login"> 



<EditText 
    android:layout_width="150dp" 
    android:layout_height="wrap_content" 
    android:background="@drawable/loginbutton" 
    android:text="Username" 
    android:layout_gravity="center" 
    android:textSize="25dp" 
    android:gravity="center_horizontal|center_vertical" 
    android:textColor="#000000" 
    android:layout_margin="10dp" 
    android:id="@+id/username"> 
    </EditText> 

मैं औसत समय में एक relativelayout में बदलने की कोशिश करूंगा।

उत्तर

10

LinearLayout दिशा यह आइटम स्टैक्स के रूप में तक मुझे पता है में केंद्रित समर्थन नहीं करते। जब तक LinearLayout महत्वपूर्ण नहीं है (जो आपके मामले में नहीं होना चाहिए, क्योंकि आपको केंद्र की भी आवश्यकता है), मैं आपको RelativeLayout पर स्विच करने की सलाह दूंगा।
RelativeLayout के साथ, आप पर EditText पर इसे केंद्रित करने के लिए विशेषता सेट कर सकते हैं।

+0

जानकारी के लिए धन्यवाद! – codesomethin

+0

अब मैं स्क्रीन पर सभी 3 कैसे केंद्रित कर सकता हूं? क्योंकि मैं एक को केन्द्रित करता हूं, और इसे नीचे 2 डालता हूं, लेकिन यह मूर्खतापूर्ण दिखता है। मुझे सभी 3 केंद्रित होने की जरूरत है, लगभग एक जैसे वे एक दृश्य में थे और मैं माता-पिता में उस दृश्य को केंद्रित करता हूं। कोई विचार? – codesomethin

+1

उनमें से केवल एक केंद्र, और उसके बाद उपरोक्त और नीचे टैग का उपयोग केवल दो क्षैतिज केंद्रों का उपयोग करके करें। – blindstuff

1

गुरुत्वाकर्षण का उपयोग यूआई आइटम की सामग्री की गुरुत्वाकर्षण को प्रभावित करता है, इसका मतलब है (इस मामले में) कि संपादन टेक्स्ट के अंदर का पाठ केंद्रित होगा। UI आइटम को स्वयं केंद्रित करने के लिए आपको लेआउट_ग्रैविटी को परिभाषित करने की आवश्यकता है क्योंकि यह गुरुत्वाकर्षण है जो यूआई आइटम अपने माता-पिता के भीतर रखता है। ओपी द्वारा पोस्ट किया गया कोड क्षैतिज केंद्र करेगा लेकिन लंबवत केंद्र नहीं होगा।

एक विकल्प के रूप आप उपयोग RelativeLayout

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/login" 
android:orientation="vertical" > 

<EditText 
    android:id="@+id/username" 
    android:layout_width="150dp" 
    android:layout_height="wrap_content" 
    android:layout_margin="10dp" 
    android:background="@drawable/loginbutton" 
    android:layout_centerInParent="true" 
    android:text="Username" 
    android:textColor="#000000" 
    android:textSize="25dp" > 
</EditText> 

</RelativeLayout> 
+0

मैं EditText ... – codesomethin

-1

इस प्रयास करें कर सकते हैं:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" 
android:background="@drawable/login" 
android:layout_centerVertical="true" 
android:layout_centerInParent="true"> 
+0

कि सटीक कोड फ्लॉप काम में दोनों है। क्या मुझे उन 2 लाइनों को edittext में जोड़ना चाहिए? जब एक रिश्तेदार लेआउट के अंदर layout_centerInParent = "true" ' किया जाता है: |: '' center_vertical center_horizontal" layout_gravity = एंड्रॉयड ' – codesomethin

+0

आप की कोशिश कर सकते हैं, लेकिन आप भी जोड़ने की कोशिश कर सकते , रैखिक लेआउट में उनको सेट करना कुछ भी नहीं करेगा। – VicVu

+1

'एंड्रॉयड: layout_centerVertical =" true "एंड्रॉयड – blindstuff

1

यह बहुत आसान है। एंड्रॉइड जोड़ें: रैखिक लेआउट के साथ गुरुत्वाकर्षण = "केंद्र"

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:gravity="center" 
> 
1
LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:background="@drawable/login" 
android:gravity="center" 
संबंधित मुद्दे