আমি কীভাবে পাঠ্যে আড়াআড়িভাবে এবং উল্লম্বভাবে কেন্দ্রীভূত করব TextView
, যাতে এটি হ'ল মাঝখানে প্রদর্শিত TextView
হয় Android
?
আমি কীভাবে পাঠ্যে আড়াআড়িভাবে এবং উল্লম্বভাবে কেন্দ্রীভূত করব TextView
, যাতে এটি হ'ল মাঝখানে প্রদর্শিত TextView
হয় Android
?
উত্তর:
আমি ধরে নিচ্ছি আপনি এক্সএমএল লেআউটটি ব্যবহার করছেন।
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="@string/**yourtextstring**"
/>
আপনি মাধ্যাকর্ষণ center_vertical
বা center_horizontal
আপনার প্রয়োজন অনুযায়ী ব্যবহার করতে পারেন ।
এবং @ স্টেলথকপ্টার জাভাতে মন্তব্য করেছেন: .setGravity(Gravity.CENTER);
android:gravity="center"
)। এটি এখনও পর্দার খুব বাম দিকে দেখায়। :(
android:layout_gravity="center"
, যা অন্য কিছু করে।
android:gravity="center"
এই কৌশলটি করবে
আপনি এটিকে ব্যবহার করে গতিশীলভাবে সেট আপ করতে পারেন:
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
android:layout_centerInParent="true"
যখন লেআউটটির উচ্চতা এবং প্রস্থকে মোড়ানো_ কনটেন্টে সেট করা হয় এমন কোনও রিলেটিভলআউট ব্যবহার করার সাথে এটি কাজ করে।
TextView
। পাঠ্যটি পূর্ণ-প্রস্থ এবং মাল্টি-লাইন এবং বাম-মধ্যে ন্যায়সঙ্গত হবে TextView
। এটি ডিসপ্লেতে বাম-ন্যায়সঙ্গত প্রদর্শিত হবে। অন্যান্য উত্তরে বর্ণিত হিসাবে আপনার "মাধ্যাকর্ষণ" ব্যবহার করা উচিত।
মাধ্যাকর্ষণ প্রয়োগ করুন:
TextView txtView = (TextView) findViewById(R.id.txtView);
txtView.setGravity(Gravity.CENTER_HORIZONTAL);
উল্লম্ব জন্য:
txtView.setGravity(Gravity.CENTER_VERTICAL);
এক্সএমএলে:
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:text="@string/Hello_World"
/>
এটি করার দুটি উপায় রয়েছে।
এক্সএমএল কোডে প্রথম। আপনার Gravity
অ্যাট্রিবিউটে মনোযোগ দিতে হবে । আপনি গ্রাফিক সম্পাদক এ এই বৈশিষ্ট্যটি খুঁজে পেতে পারেন; এটি এক্সএমএল সম্পাদকের চেয়ে সহজ হতে পারে।
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical|center_horizontal"
android:text="Your Text"
/>
আপনার নির্দিষ্ট দৃশ্যের জন্য, মহাকর্ষের মানগুলি হ'ল:
center_vertical|center_horizontal
গ্রাফিকাল সম্পাদকটিতে আপনি সমস্ত সম্ভাব্য মান খুঁজে পাবেন, এমনকি তাদের ফলাফলগুলিও দেখুন।
আপনি যদি টেবিললআউট ব্যবহার করে থাকেন তবে সারণীরেখার মাধ্যাকর্ষণটিও কেন্দ্রে নির্ধারণ করতে ভুলবেন না। অন্যথায় এটি কাজ করবে না। আমি টেবিলরোয়ের অভিকর্ষটিকে কেন্দ্রীভূত না করা পর্যন্ত কমপক্ষে এটি আমার সাথে কাজ করে না।
উদাহরণস্বরূপ, এটি পছন্দ করুন:
<TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center">
<TextView android:text="@string/chf" android:id="@+id/tv_chf" android:layout_weight="2" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center"></TextView>
</TableRow>
আপনার পাঠ্যদর্শন মাধ্যাকর্ষণ সেট করতে হবে (কেন্দ্র অনুভূমিক এবং কেন্দ্র উল্লম্ব):
android:layout_centerHorizontal="true"
এবং
android:layout_centerVertical="true"
এবং গতিশীলভাবে ব্যবহার:
textview.setGravity(Gravity.CENTER);
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
layout_centerhorizontal
এবং layout_centervertical
দ্বারা layout_centerHorizontal
এবং layout_centerVertical
( "এইচ" এবং "ভী" বড় হাতের অক্ষরে, অন্যথায় এটি অভ্যস্ত কাজ)।
আমার মতে,
android:gravity="center"
বেশী ভালো,
android:layout_centerInParent="true"
যা এর চেয়ে ভাল
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
অন্তত পাঠ্য বিন্যাসের জন্য।
লিনিয়ার লেআউটের জন্য: এক্সএমএলে এই জাতীয় কিছু ব্যবহার করুন
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical|center_horizontal"
android:text="Your Text goes here"
/>
রান সময়ে এটি করার জন্য আপনার ক্রিয়াকলাপে এরকম কিছু ব্যবহার করুন
TextView textView1 =(TextView)findViewById(R.id.texView1);
textView1.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
আপেক্ষিক বিন্যাসের জন্য: এক্সএমএলে এই জাতীয় কিছু ব্যবহার করুন
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true"
android:text="Your Text goes here"
/>
রান সময়ে এটি করার জন্য আপনার ক্রিয়াকলাপে এরকম কিছু ব্যবহার করুন
TextView textView1 =(TextView)findViewById(R.id.texView1);
RelativeLayout.LayoutParams layoutParams = RelativeLayout.LayoutParams)textView1.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
textView1.setLayoutParams(layoutParams);
এক্সএমএল ফাইলটিতে ব্যবহার করুন।
লেআউট ফাইল
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:text="@string/stringtext"/>
বা:
এটি জাভা শ্রেণীর অভ্যন্তরে ব্যবহার করুন
TextView textView =(TextView)findViewById(R.id.texviewid);
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
আপেক্ষিক বিন্যাসের জন্য এটি ব্যবহার করুন
android:layout_centerInParent="true"
এবং অন্যান্য বিন্যাসের জন্য
android:gravity="center"
যদি TextView's
উচ্চতা এবং প্রস্থ হয় wrap content
তবে TextView
সর্বদা পাঠ্যের মধ্যবর্তী হয়। তবে TextView's
প্রস্থটি যদি হয় match_parent
এবং উচ্চতা হয় match_parent
বা wrap_content
তারপরে আপনাকে নীচের কোডটি লিখতে হবে:
জন্য RelativeLayout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Hello World" />
</RelativeLayout>
জন্য LinearLayout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Hello World" />
</LinearLayout>
টেক্সটভিউয়ের জন্য মাধ্যাকর্ষণ কাজ করার সময়, এপিআই স্তরের 17 টিতে একটি বিকল্প পদ্ধতি প্রয়োগ করা হয়েছে -
textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
পার্থক্যটি জানেন না, তবে এটি কার্যকরও হয়। তবে কেবলমাত্র 17 স্তরের বা ততোধিক স্তরের জন্য।
ইন RelativeLayout
, এটি এটি দিয়ে সুন্দর হবে।
এবং অন্য Button
এবং আপনি যুক্ত করতে পারেন অন্য কিছু।
নিম্নলিখিতটি আমার পক্ষে সুন্দরভাবে কাজ করে।
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff314859"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<TextView
android:id="@+id/txt_logo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="your text here"
android:textSize="30dp"
android:gravity="center"/>
...other button or anything else...
</RelativeLayout>
আপনি যদি কোনও টেবিল লেআউটে কোনও টেবিলের নিচে পাঠ্যকে কেন্দ্র করার চেষ্টা করছেন, আমি কীভাবে এটি অর্জন করেছি তা এখানে:
<TableRow android:id="@+id/rowName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dip" >
<TextView android:id="@+id/lblSomeLabel"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:layout_width="0dp"
android:layout_weight="100"
android:text="Your Text Here" />
</TableRow>
ব্যবহার android:textAlignment="center"
<TextView
android:text="HOW WAS\nYOUR\nDAY?"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAlignment="center"
android:id="@+id/textView5"
/>
আমি আমার অ্যাপ্লিকেশনটিতে ব্যবহার করেছিলাম এমন আমার উত্তর এখানে। এটি স্ক্রিনের মাঝখানে পাঠ্য দেখায়।
<TextView
android:id="@+id/txtSubject"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/subject"
android:layout_margin="10dp"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceLarge" />
আপনি যদি আপেক্ষিক লেআউট ব্যবহার করছেন:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/stringname"
android:layout_centerInParent="true"/>
আপনি যদি লিনিয়ারলআউট ব্যবহার করেন
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/stringname"
android:layout_gravity="center"/>
কেবলমাত্র আপনার এক্সএমএল ফাইলে পাঠ্যদণ্ডের মাধ্যাকর্ষণটিকে কেন্দ্র করে সেট করুন:
<TextView
android:gravity="center" />
আপনি পাঠ্যকেন্দ্রিক পেতে এটি করতে পারেন
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center" />
টেক্সটভিউয়ের উচ্চতা এবং প্রস্থটি সামগ্রীতে মোড়ানো থাকে তবে পাঠ্যদর্শনটির মধ্যে থাকা পাঠ্যটি সর্বদা কেন্দ্রীভূত হয়, তারপরে এটি ব্যবহার করে তার মূল বিন্যাসে কেন্দ্র তৈরি করুন:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Hello.."/>
</RelativeLayout>
লিনিয়ারলআউটের জন্যও কোড একই:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello.."/>
</LinearLayout>
এবং ব্যাকরণগতভাবে পিতামাতারা হ'ল আপেক্ষিক লেআউট জাভা কোডটি রান সময়ে আপনার ক্রিয়াকলাপে এই জাতীয় কিছু ব্যবহার করুন
TextView textView1 =(TextView)findViewById(R.id.texView1);
RelativeLayout.LayoutParams layoutParams = RelativeLayout.LayoutParams)textView1.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
textView1.setLayoutParams(layoutParams);
আমরা এই একাধিক উপায়ে এটি অর্জন করতে পারি: -
এক্সএমএল পদ্ধতি 01
<TextView
android:id="@+id/textView"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:gravity="center_vertical|center_horizontal"
android:text="@strings/text"
/>
এক্সএমএল পদ্ধতি 02
<TextView
android:id="@+id/textView"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@strings/text"
/>
এক্সএমএল পদ্ধতি 03
<TextView
android:id="@+id/textView"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:gravity="center"
android:text="@strings/text"
/>
এক্সএমএল পদ্ধতি 04
<TextView
android:id="@+id/textView"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_centerInParent="true"
android:text="@strings/text"
/>
জাভা পদ্ধতি 01
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);
জাভা পদ্ধতি 02
textview.setGravity(Gravity.CENTER);
জাভা পদ্ধতি 03
textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
টেক্সটভিউ মাধ্যাকর্ষণটি আপনার প্যারেন্ট লেআউট অনুযায়ী কাজ করে।
লিনিয়ারলআউট :
আপনি যদি লিনিয়ারলআউট ব্যবহার করেন তবে আপনি দুটি মাধ্যাকর্ষণ বৈশিষ্ট্য অ্যান্ড্রয়েড পাবেন: মাধ্যাকর্ষণ এবং অ্যান্ড্রয়েড: বিন্যাস_গ্রাভিটি
অ্যান্ড্রয়েড: মাধ্যাকর্ষণ: অ্যান্ড্রয়েডের সময় টেক্সটভিউয়ের অভ্যন্তরীণ পাঠ্যের বিন্যাসের উপস্থাপনা: লেআউট_গ্রাভিটি: পিতামাতার ভিউতে টেক্সটভিউ অবস্থানের প্রতিনিধিত্ব করে।
যদি আপনি পাঠ্যকে অনুভূমিকভাবে এবং উল্লম্বভাবে কেন্দ্র স্থাপন করতে চান তবে নীচে কোডটি ব্যবহার করুন
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="300dp"
android:background="@android:color/background_light"
android:layout_height="300dp">
<TextView
android:layout_width="match_parent"
android:text="Hello World!"
android:gravity="center_horizontal"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
/>
</LinearLayout>
আপেক্ষিক লেআউট :
রিলেটিভলআউট ব্যবহার করে আপনি টেক্সটভিউতে নীচের সম্পত্তি ব্যবহার করতে পারেন
অ্যান্ড্রয়েড: টেক্সটভিউতে পাঠ্য কেন্দ্রের জন্য মাধ্যাকর্ষণ = "কেন্দ্র"।
অ্যান্ড্রয়েড: মাধ্যাকর্ষণ = "কেন্দ্র_হরিজন্টল" অভ্যন্তরীণ পাঠ্য যদি আপনি অনুভূমিকভাবে কেন্দ্রীভূত করতে চান।
অ্যান্ড্রয়েড: আপনি যদি উল্লম্বভাবে কেন্দ্রীভূত করতে চান তবে মাধ্যাকর্ষণ = "কেন্দ্রে_তান্ত্রিক" অভ্যন্তরীণ পাঠ্য।
অ্যান্ড্রয়েড: লেআউট_সেন্টিআইনপ্যারেন্ট = "সত্য" আপনি যদি পিতামাতার দেখার কেন্দ্রের অবস্থানে টেক্সটভিউ চান। অ্যান্ড্রয়েড: লেআউট_সেন্টার হরাইঞ্জোনাল = "সত্য" যদি আপনি অনুভূমিকভাবে প্যারেন্ট ভিউয়ের কেন্দ্রে পাঠ্য ভিউ চান। অ্যান্ড্রয়েড: লেআউট_সেটারভের্টিকাল = "সত্য" আপনি যদি পিতামাতার উল্লম্বভাবে কেন্দ্রে পাঠ্যদর্শন চান।
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="300dp"
android:background="@android:color/background_light"
android:layout_height="300dp">
<TextView
android:layout_width="match_parent"
android:text="Hello World!"
android:gravity="center"
android:layout_centerInParent="true"
android:layout_height="wrap_content"
/>
</RelativeLayout>
এইভাবে চেষ্টা করুন, এটি কাজ করবে
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal|center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAlignment="center"
/>
</LinearLayout>