সীমাবদ্ধ বিন্যাস উল্লম্ব সারিবদ্ধ কেন্দ্র


94

সীমাবদ্ধ বিন্যাসে উল্লম্বভাবে সারিবদ্ধভাবে এবং কেন্দ্রীভূত করা যায়? উল্লম্ব বা অনুভূমিকভাবে সারিবদ্ধ করা সম্ভব তবে দুটি গ্রিডলাইনের মধ্যে মতামতকে সীমাবদ্ধ করার পাশাপাশি আমি একই সময়ে কেন্দ্রে যাওয়ার কোনও উপায় খুঁজে পাইনি।

উল্লম্ব সারিবদ্ধ কেন্দ্র: এখানে চিত্র বর্ণনা লিখুন

দেখে মনে হচ্ছে সেন্টারিং বাধা লেআউটে একটি বিশাল সমস্যা যা আমাকে "CenterInParent", "CenterVerical" এবং "CenterHorizontal" এর জন্য আপেক্ষিক বিন্যাসে ফিরে যেতে বাধ্য করে।

আমি সীমাবদ্ধ বিন্যাসটি ব্যবহার করে লাল রঙের বাক্সযুক্ত বিন্যাসটি তৈরি করতে চাই: এখানে চিত্র বর্ণনা লিখুন

দুর্ভাগ্যক্রমে, দুটি গ্রিডলাইন ব্যবহার না করেই আমি পেলাম একমাত্র উপায় নেস্টেড রিলেটিভ এবং লিনিয়ারালাউটস (যা কনস্ট্রেন্ট লেআউটটি এই সঠিক পরিস্থিতিটি সমাধান করার কথা ছিল!)।

আপেক্ষিক এবং লিনিয়ার লেআউট ব্যবহার করে বিন্যাস:

<RelativeLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="12dp"
    app:layout_constraintTop_toBottomOf="@id/user_points"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent">

    <LinearLayout
        android:id="@+id/stat_1_layout"
        android:layout_width="60dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="12dp"
        android:layout_marginRight="12dp"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@+id/divider_1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/stat_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:gravity="center_horizontal"
            android:text="10"
            android:textSize="16dp"
            android:textColor="@color/textSecondaryDark"
            android:maxLines="1"/>

        <TextView
            android:id="@+id/stat_detail_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:gravity="center"
            android:text="Streak"
            android:textSize="8sp"
            android:textColor="@color/textSecondary"
            android:maxLines="1"/>
    </LinearLayout>

    <View
        android:id="@+id/divider_1"
        android:layout_width="1dp"
        android:layout_height="38dp"
        android:layout_toLeftOf="@+id/stat_2_layout"
        android:background="@drawable/linedivider"/>

    <LinearLayout
        android:id="@+id/stat_2_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="18dp"
        android:layout_marginRight="18dp"
        android:layout_centerInParent="true"
        android:orientation="vertical">

        <TextView
            android:id="@+id/stat_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:gravity="center_horizontal"
            android:text="243"
            android:textSize="16dp"
            android:textColor="@color/textSecondaryDark"
            android:maxLines="1"/>

        <TextView
            android:id="@+id/stat_detail_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:gravity="center"
            android:text="Calories Burned"
            android:textSize="8sp"
            android:textColor="@color/textSecondary"
            android:maxLines="1"/>
    </LinearLayout>

    <View
        android:id="@+id/divider_2"
        android:layout_width="1dp"
        android:layout_height="38dp"
        android:layout_toRightOf="@+id/stat_2_layout"
        android:background="@drawable/linedivider"/>

    <LinearLayout
        android:id="@+id/stat_3_layout"
        android:layout_width="60dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="12dp"
        android:layout_marginRight="12dp"
        android:layout_toRightOf="@+id/divider_2"
        android:layout_centerVertical="true"
        android:orientation="vertical">

        <TextView
            android:id="@+id/stat_3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:gravity="center_horizontal"
            android:text="3200"
            android:textSize="16dp"
            android:textColor="@color/textSecondaryDark"
            android:maxLines="1"/>

        <TextView
            android:id="@+id/stat_detail_3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:gravity="center"
            android:text="Steps"
            android:textSize="8sp"
            android:textColor="@color/textSecondary"
            android:maxLines="1"/>
    </LinearLayout>
</RelativeLayout>

4
আসল সমস্যাটি মনে হচ্ছে একটি দৃশ্যকে অনুভূমিকভাবে এবং উল্লম্বভাবে কেন্দ্রীভূত করা হচ্ছে এবং তারপরে সেই কেন্দ্রিক দৃশ্যের সাথে সম্পর্কিত মতামত রাখছে। সীমাবদ্ধ বিন্যাস আপনাকে বিন্যস্ত মতামতগুলিকে কেন্দ্র করতে অনুমতি দেয় তবে অন্যান্য দৃশ্যের জন্য অ্যাঙ্কর হিসাবে কেন্দ্র বিন্যস্ত ভিউ সেট করে না।
রায় লি

4
নীচের উত্তরটি দেখুন, অন্যান্য দর্শনগুলির জন্য অ্যাঙ্কর হিসাবে কেন্দ্র প্রান্তিকিত দৃশ্য সেট করা সম্ভব।
ইউজিন ব্রুসভ 9

অ্যান্ড্রয়েড স্টুডিওতে পূর্বরূপ উইন্ডো (পাঠ্য দর্শনটির জন্য, ডিজাইন নয়) গতিশীলভাবে একটি এক্সএমএল লেআউটে (স্থিতির ডেটার জন্য) পরিবর্তনগুলি দেখায়। এটি পরীক্ষায় ব্যাপকভাবে সহায়তা করে greatly
সমিস

উত্তর:


99

অন্যান্য দৃশ্যের জন্য অ্যাঙ্কর হিসাবে কেন্দ্র প্রান্তিকিত দৃশ্য সেট করা সম্ভব। নীচের উদাহরণে "@ + id / stat_2" পিতা বা মাতাতে অনুভূমিকভাবে কেন্দ্র করে এবং এটি এই বিন্যাসে অন্যান্য দর্শনের জন্য অ্যাঙ্কর হিসাবে কাজ করে।

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/stat_1"
        android:layout_width="80dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="8dp"
        android:gravity="center"
        android:maxLines="1"
        android:text="10"
        android:textColor="#777"
        android:textSize="22sp"
        app:layout_constraintTop_toTopOf="@+id/stat_2"
        app:layout_constraintEnd_toStartOf="@+id/divider_1" />

    <TextView
        android:id="@+id/stat_detail_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Streak"
        android:textColor="#777"
        android:textSize="12sp"
        app:layout_constraintTop_toBottomOf="@+id/stat_1"
        app:layout_constraintStart_toStartOf="@+id/stat_1"
        app:layout_constraintEnd_toEndOf="@+id/stat_1" />

    <View
        android:id="@+id/divider_1"
        android:layout_width="1dp"
        android:layout_height="0dp"
        android:layout_marginEnd="16dp"
        android:background="#ccc"
        app:layout_constraintTop_toTopOf="@+id/stat_2"
        app:layout_constraintEnd_toStartOf="@+id/stat_2"
        app:layout_constraintBottom_toBottomOf="@+id/stat_detail_2" />

    <TextView
        android:id="@+id/stat_2"
        android:layout_width="80dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:maxLines="1"
        android:text="243"
        android:textColor="#777"
        android:textSize="22sp"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintBottom_toBottomOf="parent" />

    <TextView
        android:id="@+id/stat_detail_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:maxLines="1"
        android:text="Calories Burned"
        android:textColor="#777"
        android:textSize="12sp"
        app:layout_constraintTop_toBottomOf="@+id/stat_2"
        app:layout_constraintStart_toStartOf="@+id/stat_2"
        app:layout_constraintEnd_toEndOf="@+id/stat_2" />

    <View
        android:id="@+id/divider_2"
        android:layout_width="1dp"
        android:layout_height="0dp"
        android:layout_marginStart="16dp"
        android:background="#ccc"
        app:layout_constraintBottom_toBottomOf="@+id/stat_detail_2"
        app:layout_constraintStart_toEndOf="@+id/stat_2"
        app:layout_constraintTop_toTopOf="@+id/stat_2" />

    <TextView
        android:id="@+id/stat_3"
        android:layout_width="80dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:gravity="center"
        android:maxLines="1"
        android:text="3200"
        android:textColor="#777"
        android:textSize="22sp"
        app:layout_constraintTop_toTopOf="@+id/stat_2"
        app:layout_constraintStart_toEndOf="@+id/divider_2" />

    <TextView
        android:id="@+id/stat_detail_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:maxLines="1"
        android:text="Steps"
        android:textColor="#777"
        android:textSize="12sp"
        app:layout_constraintTop_toBottomOf="@+id/stat_3"
        app:layout_constraintStart_toStartOf="@+id/stat_3"
        app:layout_constraintEnd_toEndOf="@+id/stat_3" />

</android.support.constraint.ConstraintLayout>

এটি ক্ষুদ্রতম স্মার্টফোন (3.7 480x800 নেক্সাস ওয়ান) বনাম বৃহত্তম স্মার্টফোন (5.5 1440x2560 পিক্সেল এক্সএল) এ কীভাবে কাজ করে তা এখানে দেখুন's

ফলাফল দেখুন


4
আশ্চর্য! এই প্রশ্নের উত্তর দেওয়ার জন্য সময় দেওয়ার জন্য ধন্যবাদ। এই উত্তরগুলি আমাকে বাঁধার লেআউটটি আরও অনেক ভাল বুঝতে সাহায্য করেছে। বেন পি এর উত্তরটিকে আমি এই উত্তরটিকে সঠিক হিসাবে চিহ্নিত করার কারণ হ'ল কারণ এই উত্তরটি আইটেমটিকে কেন্দ্রের বস্তুতে নোঙ্গর করে। এই সমাধানের সাহায্যে আমি এখন কেন্দ্রের বস্তুকে অন্য যে কোনও স্থানে সারিবদ্ধ করতে পারি এবং অন্যান্য বস্তু অনুসরণ করবে।
রায় লি

4
আপনার অভিজ্ঞ ইউজিন ব্রুসোভে কন্ট্রেন্ট লেআউট নিয়ে কীভাবে কাজ করছেন? আমি দেখতে পেয়েছি যে কেন্দ্রিয়করণ এবং বিতরণ পদ্ধতির অভাবের কারণে কনস্ট্রেন্ট লেআউটটি রিলেটিভ লেআউট / লিনিয়ার লেআউট ব্যবহার করার চেয়ে অনেক বেশি ম্যানুয়াল কনফিগারেশন। কাশ গুগল এমন একটি লেআউট নিয়ে এসেছিল যা কোনও এক্সকোড / ওয়েব বিল্ডারের স্টাইল ডাব্লুওয়াইএসআইওয়াইজির পরিবর্তে রিলেটিভ লেআউট এবং লিনিয়ার লেআউটকে একত্রে একত্রিত করেছে।
রায় লি

4
@ রায়লি ওয়েল, আমি সত্যিই কনস্ট্রেন্টলআউট উপভোগ করছি, আমার প্রিয় বৈশিষ্ট্যগুলি লেআউট সমতল করার পক্ষে এবং অনুপাতের সাথে মতামত আকারের সম্ভাবনা। কনস্ট্রেইন্টলআউট স্ট্যাকওভারফ্লো . com/users/7158449/eugene- ব্রুসভ সম্পর্কিত বিভিন্ন প্রশ্নের আমার উত্তরগুলিও আপনি খুঁজে পেতে পারেন । প্রশ্ন পোস্ট করা চালিয়ে যান :-)
ইউজিন ব্রুসভ

এবং তাদের জবাবদিহি করুন মিঃ কনস্ট্রেন্ট লেআউট বিশেষজ্ঞ;)
রায় লি

হাই @ রায়লি আমি উপরের কোডটি চেষ্টা করেছিলাম। তবে সমস্ত সামগ্রী উপরে বাম দিকে যায় to মিঃ ইউজিন ব্রুসভ টেম্পলেটটির মতো এটি কীভাবে করবেন তা সম্পর্কে কোনও ধারণা?
হাইডায়ুরি ডেভ

63

আপনার যদি ConstraintLayoutকিছু আকার এবং Viewকিছু ছোট আকারের একটি শিশু থাকে তবে আপনি সন্তানের দুটি কিনারা পিতামাতার একই দুটি প্রান্তে সীমাবদ্ধ করে কেন্দ্রিক অর্জন করতে পারেন। এটি, আপনি লিখতে পারেন:

app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"

বা

app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"

দৃশ্যটি ছোট হওয়ায় এই সীমাবদ্ধতা অসম্ভব। তবে ConstraintLayoutএটি যথাসাধ্য চেষ্টা করবে এবং প্রতিটি বাধা শিশুকে সমানভাবে দেখার জন্য "টান" দেবে, যার ফলে এটি কেন্দ্র করে।

এই ধারণাটি কেবল পিতামাতাকে নয়, কোনও লক্ষ্য দর্শনের সাথে কাজ করে।

হালনাগাদ

নীচে এক্সএমএল রয়েছে যা আপনার পছন্দসই UI অর্জন করে যাতে কোনও মতামত বাসা বেঁধে Guidelineনা দেওয়া হয় না (যদিও নির্দেশিকা অন্তর্নিহিত মন্দ নয়)।

<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#eee">

    <TextView
        android:id="@+id/title1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="12dp"
        android:gravity="center"
        android:textColor="#777"
        android:textSize="22sp"
        android:text="10"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@+id/divider1"
        app:layout_constraintBottom_toBottomOf="parent"/>

    <TextView
        android:id="@+id/label1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textColor="#777"
        android:textSize="12sp"
        android:text="Streak"
        app:layout_constraintTop_toBottomOf="@+id/title1"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@+id/divider1"/>

    <View
        android:id="@+id/divider1"
        android:layout_width="1dp"
        android:layout_height="55dp"
        android:layout_marginTop="12dp"
        android:layout_marginBottom="12dp"
        android:background="#ccc"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toRightOf="@+id/title1"
        app:layout_constraintRight_toLeftOf="@+id/title2"
        app:layout_constraintBottom_toBottomOf="parent"/>

    <TextView
        android:id="@+id/title2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="12dp"
        android:gravity="center"
        android:textColor="#777"
        android:textSize="22sp"
        android:text="243"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toRightOf="@+id/divider1"
        app:layout_constraintRight_toLeftOf="@+id/divider2"
        app:layout_constraintBottom_toBottomOf="parent"/>

    <TextView
        android:id="@+id/label2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textColor="#777"
        android:textSize="12sp"
        android:text="Calories Burned"
        app:layout_constraintTop_toBottomOf="@+id/title2"
        app:layout_constraintLeft_toRightOf="@+id/divider1"
        app:layout_constraintRight_toLeftOf="@+id/divider2"/>

    <View
        android:id="@+id/divider2"
        android:layout_width="1dp"
        android:layout_height="55dp"
        android:layout_marginTop="12dp"
        android:layout_marginBottom="12dp"
        android:background="#ccc"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toRightOf="@+id/title2"
        app:layout_constraintRight_toLeftOf="@+id/title3"
        app:layout_constraintBottom_toBottomOf="parent"/>

    <TextView
        android:id="@+id/title3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="12dp"
        android:gravity="center"
        android:textColor="#777"
        android:textSize="22sp"
        android:text="3200"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toRightOf="@+id/divider2"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"/>

    <TextView
        android:id="@+id/label3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textColor="#777"
        android:textSize="12sp"
        android:text="Steps"
        app:layout_constraintTop_toBottomOf="@+id/title3"
        app:layout_constraintLeft_toRightOf="@+id/divider2"
        app:layout_constraintRight_toRightOf="parent"/>

</android.support.constraint.ConstraintLayout>

এখানে চিত্র বর্ণনা লিখুন


দোহ, এর অর্থ হ'ল কেন্দ্রের আইটেমগুলি উল্লম্বভাবে সারিবদ্ধ করার জন্য আমাকে যা করতে হবে তা হ'ল একটি নির্দিষ্ট উচ্চতা সহ একটি ভিউ আইটেম তৈরি করুন এবং এর ভিতরে শিশু আইটেমগুলিকে সীমাবদ্ধ করুন! তবে এই পদ্ধতিটি ব্যবহার করে, আমি অনুভূমিকভাবে মাঝের বাক্সটি কেন্দ্র করতে এবং সেন্টার বক্সের সাথে বাম এবং ডান বাক্সগুলির অবস্থান নির্ধারণ করতে সক্ষম হব না। সীমাবদ্ধ বিন্যাসে যদি কেবল "কেন্দ্র" ফাংশন থাকত!
রায় লি

উপরের পদ্ধতিটি ব্যবহার করে আপনি মধ্যবর্তী বাক্সটি অনুভূমিকভাবে কেন্দ্র করতে পারেন এবং তারপরে পিতামাতার এবং মাঝের বাক্সের প্রান্তটি মিলে যাওয়ার জন্য অন্য দুটি বাক্স সেট করতে পারেন।
বেন পি।

@ রায়লি আমি আমার উত্তরটি এমন একটি বিন্যাসের সাথে আপডেট করেছি যা আমার বিশ্বাস আপনি যা চান তা পূরণ করে।
বেন পি।

4
+1, এটি সহজ এবং কার্যকর ছিল। এটি কিছুটা হ্যাকি অনুভব করে, ইচ্ছার বাঁধা লেআউটের একটি 'কেন্দ্র' ফাংশন থাকত।
আসউইন জি

20

হতে পারে আমি সমস্যাটি পুরোপুরি বুঝতে পারি নি, তবে, কনস্ট্রেন্টলয়েট-এর ভিতরে সমস্ত দৃশ্যকে কেন্দ্র করে নেওয়া খুব সহজ বলে মনে হচ্ছে। এটি আমি ব্যবহার করেছি:

<android.support.constraint.ConstraintLayout 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="wrap_content"
android:layout_gravity="center">

এখানে চিত্র বর্ণনা লিখুন

শেষ দুই লাইনে কৌতুকটি করলেন!


এবং এখন যদি আমরা অন্য কিছু মতামত রাখতে চাই যা পর্দার কেন্দ্রে নেই, তা কীভাবে করবেন?
কে প্রদীপ কুমার রেড্ডি

19
 <TextView
        android:id="@+id/tvName"
        style="@style/textViewBoldLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="Welcome"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"/>

12

চেইন তৈরি করে আপনি একাধিক জিনিসকে সহজেই কেন্দ্র করতে পারেন। এটি উভয় উল্লম্ব এবং অনুভূমিকভাবে কাজ করে

চেইনগুলি সম্পর্কে অফিসিয়াল ডকুমেন্টেশনের লিঙ্ক

মন্তব্যের জবাব দিতে সম্পাদনা করুন :

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
    <TextView
        android:id="@+id/first_score"
        android:layout_width="60dp"
        android:layout_height="wrap_content"
        android:text="10"
        app:layout_constraintEnd_toStartOf="@+id/second_score"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/second_score"
        app:layout_constraintBottom_toTopOf="@+id/subtitle"
        app:layout_constraintHorizontal_chainStyle="spread"
        app:layout_constraintVertical_chainStyle="packed"
        android:gravity="center"
        />
    <TextView
        android:id="@+id/subtitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Subtitle"
        app:layout_constraintTop_toBottomOf="@+id/first_score"
        app:layout_constraintBottom_toBottomOf="@+id/second_score"
        app:layout_constraintStart_toStartOf="@id/first_score"
        app:layout_constraintEnd_toEndOf="@id/first_score"
        />
    <TextView
        android:id="@+id/second_score"
        android:layout_width="60dp"
        android:layout_height="120sp"
        android:text="243"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/thrid_score"
        app:layout_constraintStart_toEndOf="@id/first_score"
        app:layout_constraintTop_toTopOf="parent"
        android:gravity="center"
        />
    <TextView
        android:id="@+id/thrid_score"
        android:layout_width="60dp"
        android:layout_height="wrap_content"
        android:text="3200"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@id/second_score"
        app:layout_constraintTop_toTopOf="@id/second_score"
        app:layout_constraintBottom_toBottomOf="@id/second_score"
        android:gravity="center"
        />
</android.support.constraint.ConstraintLayout>

এই কোড এই ফলাফল দেয়

আপনি অনুভূমিক শৃঙ্খল আছে: first_score <=> second_score <=> third_scoresecond_scoreউল্লম্বভাবে কেন্দ্রিক। অন্যান্য স্কোরগুলি এটি অনুসারে উল্লম্বভাবে কেন্দ্রীভূত হয়।

আপনি অবশ্যই একটি উল্লম্ব চেইন তৈরি করতে পারেন first_score <=> subtitleএবং সেই অনুযায়ী এটি কেন্দ্র করতে পারেনsecond_score


আমি চেইন পদ্ধতি চেষ্টা করেছি এবং এটি কার্যকর হয় না। শৃঙ্খলাটি "শৃঙ্খলার প্রথম উপাদান (শৃঙ্খলের" মাথা ") এ সেট করা গুণাবলী দ্বারা নিয়ন্ত্রিত হয়"। চেইন হেডটি কেবল "অনুভূমিক চেইনের জন্য বাম-সর্বাধিক উইজেট এবং উল্লম্ব চেইনের জন্য শীর্ষ-উইজেট" হিসাবে সেট করা যেতে পারে। আপনি কেন্দ্রের আইটেমটিকে শৃঙ্খলাবদ্ধ হিসাবে সেট করতে পারবেন না যা একই সাথে উল্লম্বভাবে এবং অনুভূমিকভাবে কেন্দ্রীভূত করতে বাধা দেয়।
রায় লি

4
@ রায়লি আমি আমার উত্তরটি সম্পাদনা করেছিলাম আমার মনে কী আছে তা আপনাকে দেখানোর জন্য
কলিয়ান

আপনার উত্তর আপডেট করার জন্য এবং আপনার মনে কী ছিল তা প্রদর্শনের জন্য আপনাকে ধন্যবাদ। এই কৌশলটি খুব দরকারী হবে!
রায় লি

5

এর নীচে বাম দিকে দুটি কেন্দ্রে দুটি বোতাম

এটি গ্রাফিকভাবে দেখানো হচ্ছে।

উভয় পক্ষকে পিতামাতার মধ্যে সীমাবদ্ধ করে পিতামাতাকে কেন্দ্র করে করা হয়। আপনি কেন্দ্রিয় অবজেক্টের বাইরে অতিরিক্ত বিষয়গুলিকে সীমাবদ্ধ করতে পারেন।

বিঃদ্রঃ. প্রতিটি তীর একটি "অ্যাপ্লিকেশন: লেআউট_কন্ট্রেন্টএক্সএক্সএক্সএক্সএইচএইচওয়াই =" বৈশিষ্ট্য উপস্থাপন করে। (ছবিতে 6)


1

আমারও এর অনুরূপ কিছু দরকার ছিল। আমি পর্দার কেন্দ্রে একটি ধারক রাখতে চাই এবং ধারকটির ভিতরে অনেকগুলি দর্শন রয়েছে। নিম্নলিখিত এক্সএমএল লেআউট কোডটি রয়েছে। এখানে আমি পর্দার কেন্দ্রে কনটেইনার তৈরি করতে নেস্টেড বাধা লেআউটটি ব্যবহার করছি।

    <androidx.constraintlayout.widget.ConstraintLayout 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:background="@drawable/gradient_background"
tools:context=".activities.AppInfoActivity">

<ImageView
    android:id="@+id/ivClose"
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:layout_marginStart="20dp"
    android:layout_marginTop="20dp"
    android:src="@drawable/ic_round_close_24"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="300dp"
    android:layout_height="300dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.5">

    <ImageView
        android:id="@+id/ivAppIcon"
        android:layout_width="100dp"
        android:layout_height="100dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/dead" />

    <TextView
        android:id="@+id/tvAppName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Birds Shooter Plane"
        android:textAlignment="center"
        android:textSize="30sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/ivAppIcon" />

    <TextView
        android:id="@+id/tvAppVersion"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Version : 1.0"
        android:textAlignment="center"
        android:textSize="12sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tvAppName" />

    <TextView
        android:id="@+id/tvDevelopedBy"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="25dp"
        android:text="Developed by"
        android:textAlignment="center"
        android:textSize="12sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tvAppVersion" />

    <TextView
        android:id="@+id/tvDevelopedName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:text="K Pradeep Kumar Reddy"
        android:textAlignment="center"
        android:textSize="14sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tvDevelopedBy" />

    <TextView
        android:id="@+id/tvContact"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:text="Contact : kpradeepkumarreddy@gmail.com"
        android:textAlignment="center"
        android:textSize="12sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tvDevelopedName" />

    <TextView
        android:id="@+id/tvCheckForUpdate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="25dp"
        android:text="@string/check_for_update"
        android:textAlignment="center"
        android:textSize="14sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tvContact" />
</androidx.constraintlayout.widget.ConstraintLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

লেআউটটির স্ক্রিনশটটি এখানে এখানে চিত্র বর্ণনা লিখুন

অন্যান্য সমাধান হ'ল নেস্টেড কনস্ট্রেন্ট লেআউটটি অপসারণ এবং লেআউটটির কেন্দ্রে শীর্ষ উপাদানটিতে কনস্ট্রেন্ট_ভারটিক্যাল_বিয়াস = 0.5 বৈশিষ্ট্য যুক্ত করা। আমি মনে করি এটিকে দৃষ্টিভঙ্গির শিকল হিসাবে ডাকা হয়।

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
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:background="@drawable/gradient_background"
tools:context=".activities.AppInfoActivity">

<ImageView
android:id="@+id/ivClose"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:src="@drawable/ic_round_close_24"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<ImageView
android:id="@+id/ivAppIcon"
android:layout_width="100dp"
android:layout_height="100dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.5"
app:srcCompat="@drawable/dead" />

<TextView
android:id="@+id/tvAppName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_display_name"
android:textAlignment="center"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ivAppIcon" />

<TextView
android:id="@+id/tvAppVersion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/version"
android:textAlignment="center"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvAppName" />

<TextView
android:id="@+id/tvDevelopedBy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:text="@string/developed_by"
android:textAlignment="center"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvAppVersion" />

<TextView
android:id="@+id/tvDevelopedName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="@string/developer_name"
android:textAlignment="center"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvDevelopedBy" />

<TextView
android:id="@+id/tvContact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="@string/developer_email"
android:textAlignment="center"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvDevelopedName" />
<TextView
android:id="@+id/tvCheckForUpdate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="25dp"
android:text="@string/check_for_update"
android:textAlignment="center"
android:textSize="14sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvContact" />
</androidx.constraintlayout.widget.ConstraintLayout>

লেআউটটির স্ক্রিনশটটি এখানে এখানে চিত্র বর্ণনা লিখুন

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