উত্তর:
আমি মনে করি আপনি এটি করছেন: 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"