উত্তর:
আমি মনে করি আপনি এটি করছেন: android:layout_width = "wrap_content"
যদি এটি হয় তবে এটি করুন:android:layout_width = "match_parent"
সাধারণত, android:gravity="right"থেকে পৃথক android:layout_gravity="right"।
প্রথমটি পাঠ্যটির নিজের অবস্থানটি ভিউয়ের মধ্যেই প্রভাবিত করে, তাই আপনি যদি এটি ডানদিকে যুক্ত করতে চান তবে layout_width=তা হয় হয় হয় "fill_parent"বা হয় "match_parent"।
দ্বিতীয়টি তার অভিভাবকের ভিতরে ভিউয়ের অবস্থানকে প্রভাবিত করে, অন্য কথায় - বস্তুটি প্যারেন্ট ভিউয়ের ভিতরেই প্রান্তিককরণ (বাক্স বা পাঠ্য সম্পাদনা সম্পাদনা)।
সবচেয়ে ভাল সমাধান হ'ল যা সবচেয়ে সহজ এবং আপনার কোড আচরণে কম পরিবর্তন করে ।
আপনি যদি কেবল নিজের 2 টি সম্পত্তি দিয়ে এই সমস্যাটি সমাধান করতে পারেন তবে TextView?
আপনার LinearLayoutসম্পত্তিগুলি পরিবর্তনের প্রয়োজনের পরিবর্তে যা শিশুদের আচরণকে পরিবর্তন করতে পারে LinearLayout?
এই উপায়টি ব্যবহার করে, আপনাকে LinearLayoutবৈশিষ্ট্য এবং আচরণ পরিবর্তন করার দরকার নেই , আপনাকে কেবলমাত্র আপনার টার্গেটে নিম্নলিখিত দুটি বৈশিষ্ট্য যুক্ত করতে হবে TextView:
android:gravity="right"
android:textAlignment="gravity"
আপনার লক্ষ্য পিতাকে সংশোধন করে ভবিষ্যতে অন্য সমস্যার কারণ হওয়ার পরিবর্তে কেবলমাত্র সমাধানের সমাধানের জন্য আপনার টার্গেটটি পরিবর্তন করা কী ভাল? চিন্তা করুন :)
TextViewসম্পত্তি অ্যাক্সেস করছেন ? - আপনি এখানে রেফারেন্স থেকে সম্পত্তিটি যাচাই করতে পারেন: developer.android.com/references/android/view/…
android:layout_gravityপ্যারেন্ট লেআউটের প্রতি শ্রদ্ধার সাথে পাঠ্য দর্শন সারিবদ্ধ করতে ব্যবহৃত হয়।
android:gravityপাঠ্য দৃশ্যের ভিতরে পাঠ্য সারিবদ্ধ করতে ব্যবহৃত হয়।
আপনি কি নিশ্চিত যে আপনি পাঠ্য দৃশ্যের ভিতরে পাঠ্যটি ডানদিকে প্রান্তিককরণের চেষ্টা করছেন বা পিতা-মাতার বিন্যাসের সাথে আপনি নিজেই টেক্সট ভিউটি ডানদিকে নিয়ে যেতে চান বা আপনি উভয়কেই আকর্ষণের চেষ্টা করছেন
নিশ্চিত হয়ে নিন যে আপনি যদি তা ব্যবহার করছেন না android:layout_width="wrap_content"তবে তা মাধ্যাকর্ষণ নির্ধারণ করতে সক্ষম হবে না কারণ আপনার পাঠ্যটি সাজানোর জন্য পর্যাপ্ত জায়গা নেই space পরিবর্তে ব্যবহারandroid:layout_width="fill_parent"
android:gravity="right"
এটি মূলত লিনিয়ার লেআউটে ব্যবহৃত হয় তাই আপনাকে পাঠ্যদর্শন বা প্রস্থ হিসাবে সম্পাদনা পাঠ্য প্রস্থটি সেট করতে হবে
android:layout_width = "match_parent"
এবং
আপনি যখন রিলেটিভ লেআউটে কাজ করছেন তখন ব্যবহার করুন
android:layout_alignParentRight="true"
(লিনিয়ারলআউট) android:layout_width="match_parent"এবং পাঠ্যদর্শনটি তৈরি করুনandroid:layout_gravity="right"
এটিতে থাকলে RelativeLayoutআপনি ব্যবহার করতে পারেনandroid:layout_toRightOf="@id/<id_of_desired_item>"
অথবা
আপনি যদি rightডিভাইসের কোণে স্থানটি সারতে চান তবেandroid:layout_alignParentRight="true"
আমি ওয়েবে ব্যবহার করে মাধ্যাকর্ষণ ধারণাটি ব্যাখ্যা করি কারণ অনেক বিকাশকারী এটি সম্পর্কে সচেতন।
android_layout_gravity আচরণ করবে float:left|right|top|bottom
যেখানে android_gravityকাজ হিসাবেtext_align:centre|left|right
অ্যান্ড্রয়েড ফ্লোটে অ্যান্ড্রয়েড_লআউট_গ্রাভিটি এবং টেক্সট_লাইনাইন: অ্যান্ড্রয়েড_গ্রাভিটি।
এবং android_layout_gravity পিতামাতার তুলনায় প্রযোজ্য। যেখানে অ্যান্ড্রয়েড_গ্রাভিটি তার শিশু বা অভ্যন্তরীণ সামগ্রীতে প্রযোজ্য।
দ্রষ্টব্য অ্যান্ড্রয়েড_গ্রাভিটি কেবল তখনই কাজ করে যখন এর ভিউটি ম্যাচ_পিতা (যখন এটিতে কেন্দ্রে স্থান থাকে)।
নীচে আমার জন্য কাজ করে:
<TextView
android:id="@+id/tv_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sarah" />
<TextView
android:id="@+id/tv_distance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/tv_username"
android:layout_alignParentEnd="true"
android:layout_toEndOf="@+id/tv_username"
android:text="San Marco"
android:textAlignment="viewEnd" />
দ্বিতীয় টেক্সটভিউ এর সেটিংস android:layout_alignParentEndএবং android:textAlignmentসেটিংস নোট করুন ।
এটি উদ্দেশ্য পরিবেশন করা উচিত
android:textAlignment="textStart"
আমার ক্ষেত্রে, আমি Relative Layoutএকটি ব্যবহার করছিলামemptyString
এক ঘন্টা ধরে এ নিয়ে লড়াই করার পরে। এটি কেবল আমার জন্য কাজ করেছে:
android:layout_toRightOf="@id/welcome"
android:layout_toEndOf="@id/welcome"
android:layout_alignBaseline="@id/welcome"
layout_toRightOfবা layout_toEndOfউভয়ই কাজ করে তবে এটিকে আরও ভালভাবে সমর্থন করার জন্য, আমি উভয়ই ব্যবহার করি।
এটি আরও স্পষ্ট করতে:
এটি আমি যা করার চেষ্টা করছিলাম:
এবং এটি ছিল এমুলেটারের আউটপুট
লেআউট:
<TextView
android:id="@+id/welcome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="Welcome "
android:textSize="16sp" />
<TextView
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/welcome"
android:layout_toRightOf="@id/welcome"
android:text="@string/emptyString"
android:textSize="16sp" />
লক্ষ্য করুন:
android:layout_width="wrap_content" কাজGravity ব্যবহার করা হয় না<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/tct_postpone_hour"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:gravity="center_vertical|center_horizontal"
android:text="1"
android:textSize="24dp" />
</RelativeLayout>
অনুভূমিক এবং উল্লম্ব উভয়কে কেন্দ্র করে এক নম্বর সারিবদ্ধ করে তোলে।
যোগ করার জন্য চেষ্টা android:gravity="center"মধ্যেTextView
আমি আমার ক্ষেত্রে "লেআউট_লাইনআরাইট" বৈশিষ্ট্যটি ব্যবহার করেছি, এটি পাঠ্যে:
android:layout_alignRight="@+id/myComponentId"
আপনি যদি কিছু সঠিক মার্জিন যুক্ত করতে চান তবে কেবলমাত্র "লেআউট_মার্গিন রাইট" উদাহরণটি উদাহরণের জন্য "20dp" এ সেট করুন, পাঠ্যে এটির:
android:layout_marginRight="20dp"