অ্যান্ড্রয়েড - লিনিয়ারলআউটে হরাইজেন্টালি সেন্টার টেক্সটভিউ


111

আমার নীচের বেসিক লেআউটটি রয়েছে

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/title_bar_background">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:padding="10dp"
        android:text="HELLO WORLD" />

    </LinearLayout>
<LinearLayout>

দেখে মনে হচ্ছে এক্সএমএলটি সঠিক তবে পাঠ্যটি বামদিকে প্রান্তিক হয়েছে। পাঠ্যদর্শনটি পিতামাতার পুরো প্রস্থ গ্রহণ করে এবং পাঠ্যদর্শনটি কেন্দ্রে সেট করা আছে। কি সমস্যা সেটি নিশ্চিত না...


2
অ্যান্ড্রয়েড চেষ্টা করুন: আপনার পাঠ্যদর্শনটির জন্য মাধ্যাকর্ষণ = "কেন্দ্র"
user370305

উত্তর:


227

যা ঘটছে তা টেক্সটভিউ যেহেতু অভ্যন্তরীণ লিনিয়ারলাইআউটের পুরো প্রস্থটি পূরণ করছে এটি ইতিমধ্যে বিন্যাসের অনুভূমিক কেন্দ্রে রয়েছে । আপনি যখন android:layout_gravityএটি ব্যবহার করেন তখন সামগ্রিকভাবে উইজেট নির্দিষ্ট করা মাধ্যাকর্ষণতে রাখে। পুরো উইজেট কেন্দ্রটি স্থাপন করার পরিবর্তে আপনি যা করতে চেষ্টা করছেন তা হ'ল সামগ্রীটি কেন্দ্রে রাখুন যা দ্বারা সম্পন্ন করা যায় android:gravity="center_horizontal"এবং android:layout_gravityবৈশিষ্ট্যটি সরানো যায়।


3
আমি যদি সঠিকভাবে বুঝতে পারি তবে তিনি "অ্যান্ড্রয়েড: লেআউট_উইথ =" ফিল_প্যারেন্ট "কে" মোড়ক_কন্টেন্ট "এ পরিবর্তন করতে পারেন এবং তারপরে অ্যান্ড্রয়েড: লেআউট_গ্রাভিটি =" সেন্টার_হোরাইজেন্টাল "ব্যবহার করতে পারেন I আমি ঠিক আছি?
পল ব্রেউজাইন্স্কি

1
@ ব্লুজেম না, অভ্যন্তরীণ লিনিয়ারলাউট নিজেকে এমন কোনও স্থানের অনুমতি দেয় না যা কোনও ভিউতে ভরাট নয় (খালি লিনিয়ারলাউটের ক্ষেত্রে বিবেচনা করে না)। সুতরাং এই android:layout_widthএকই মান হবে (বিন্যাস পরে)। যেহেতু TextView প্রস্থ ভেতরের LinearLayout সঙ্গে সমান TextView কার্যকরভাবে হয়েছে android:layout_gravityমান left, rightএবং centerএকই সময়ে।
ড্যান এস

1
জন্য ImageViewতার layout_gravityএবং জন্য TextViewতার gravityকি শুধুমাত্র কাজ করে। অ্যান্ড্রয়েড দুর্দান্ত! সমস্ত সুন্দর এসও পোস্টকে ধন্যবাদ যা ছাড়া উন্নয়ন কেবল অসম্ভব ছিল।
অতুল

1
সম্পর্কে ভুলবেন না android:layout_width="match_parent"
Choletski

24
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/title_bar_background">

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:padding="10dp"
    android:text="HELLO WORLD" />

</LinearLayout>


24

আপনি যদি <TextView>কেন্দ্র স্থাপন করেন <Linearlayout>তবে প্রথমে android:layout_width="fill_parent"বাধ্যতামূলকভাবে
অন্য কোনও মাধ্যাকর্ষণ ব্যবহার করার দরকার নেই

    <LinearLayout
            android:layout_toRightOf="@+id/linear_profile" 
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:orientation="vertical"
            android:gravity="center_horizontal">
            <TextView 
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:text="It's.hhhhhhhh...."
                android:textColor="@color/Black"

                />
    </LinearLayout>


4

কেবলমাত্র ব্যবহার করুন: অ্যান্ড্রয়েড: লেআউট_সেন্টোর হরিজন্টাল = "সত্য"

এটি পুরো পাঠ্যদর্শনটি কেন্দ্রে রাখবে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.