অ্যান্ড্রয়েডের মধ্যে বিন্যাসের অভ্যন্তরে কীভাবে অন্তর্ভুক্ত করবেন?
আমি সাধারণ বিন্যাস তৈরি করছি। আমি সেই লেআউটটিকে অন্য পৃষ্ঠায় অন্তর্ভুক্ত করতে চাই।
উত্তর:
সম্পাদনা: একটি মন্তব্যে যথাযথভাবে এখানে আরও কিছু তথ্যের জন্য অনুরোধ করা হয়েছে। include
ট্যাগটি ব্যবহার করুন
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
layout="@layout/yourlayout" />
আপনি যে লেআউটটি পুনরায় ব্যবহার করতে চান তা অন্তর্ভুক্ত করতে।
এই লিঙ্কটি পরীক্ষা করে দেখুন ...
<include />
ট্যাগে করতে পারেন কিনা তবে আপনি জাভা কোড ব্যবহার করে এটি করতে পারেন। দেখতে নিচের Phileo99 এর উত্তর কিভাবে অন্তর্ভুক্ত লেআউটে একটি রেফারেন্স পেতে জানতে। এবং তারপরে আপনি এর বিষয়বস্তু পরিবর্তন করতে পারেন।
নোট করুন যে আপনি যদি ট্যাগটিতে অন্তর্ভুক্ত android:id...
করেন তবে <include />
এটি অন্তর্ভুক্ত লেআউটের ভিতরে যে কোনও আইডি সংজ্ঞায়িত হয়েছিল তা ওভাররাইড করবে। উদাহরণ স্বরূপ:
<include
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/some_id_if_needed"
layout="@layout/yourlayout" />
yourlayout.xML:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/some_other_id">
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/button1" />
</LinearLayout>
তারপরে আপনি কোডের সাথে অন্তর্ভুক্ত লেআউটটি নীচে উল্লেখ করুন:
View includedLayout = findViewById(R.id.some_id_if_needed);
Button insideTheIncludedLayout = (Button)includedLayout.findViewById(R.id.button1);
<include />
ট্যাগ ব্যবহার করুন ।
<include
android:id="@+id/some_id_if_needed"
layout="@layout/some_layout"/>
এছাড়াও, পুনরায় ব্যবহারযোগ্য UI উপাদান তৈরি এবং লেআউটগুলি নিবন্ধগুলি মার্জ করুন ।
পুনঃ-ব্যবহার লেআউট সম্পর্কে অফিসিয়াল নথিগুলি থেকে
যদিও অ্যান্ড্রয়েড ছোট এবং পুনরায় ব্যবহারযোগ্য ইন্টারেক্টিভ উপাদানগুলি সরবরাহ করতে বিভিন্ন ধরণের উইজেট সরবরাহ করে, আপনার বিশেষ লেআউটের প্রয়োজন এমন বৃহত্তর উপাদানগুলি পুনরায় ব্যবহারের প্রয়োজনও হতে পারে। দক্ষতার সাথে সম্পূর্ণ বিন্যাস পুনরায় ব্যবহার করতে, আপনি বর্তমান লেআউটের ভিতরে অন্য লেআউট এম্বেড করতে ট্যাগটি ব্যবহার করতে পারেন।
এখানে আমার শিরোনাম। এক্সএমএল ফাইল যা আমি অন্তর্ভুক্ত ট্যাগ ব্যবহার করে পুনরায় ব্যবহার করতে পারি
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:gravity="center"
android:text="@string/app_name"
android:textColor="#000000" />
</RelativeLayout>
না আমি ব্যবহার করি অন্য এক্সএমএল ফাইল থেকে অন্য লেআউট যুক্ত করতে এক্সএমএলে ট্যাগ করুন।
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#f0f0f0" >
<include
android:id="@+id/header_VIEW"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/header" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="#ffffff"
android:orientation="vertical"
android:padding="5dp" >
</LinearLayout>
Because I want to reuse a ProgressBar
কী সমস্যা আসছে?
এই লিঙ্কটি ব্যবহার করে আরও জানুন https://developer.android.com/training/improving-layouts/reused-layouts.html
<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"
tools:context=".Game_logic">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:id="@+id/text1"
android:textStyle="bold"
tools:text="Player " />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:layout_marginLeft="20dp"
android:id="@+id/text2"
tools:text="Player 2" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
ব্লককোট
উপরের লেআউটটি ব্যবহার করে আপনি অন্যান্য ক্রিয়াকলাপে ব্যবহার করতে পারেন
<?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"
tools:context=".SinglePlayer">
<include layout="@layout/activity_game_logic"/>
</androidx.constraintlayout.widget.ConstraintLayout>