Bagaimana cara memasukkan tata letak di dalam tata letak di Android?
Saya membuat tata letak umum. Saya ingin memasukkan tata letak itu di halaman lain.
android
android-layout
mohan
sumber
sumber
Jawaban:
Edit: Seperti dalam komentar yang diminta di sini, beberapa informasi lebih lanjut. Gunakan
include
tag<include android:layout_width="match_parent" android:layout_height="wrap_content" layout="@layout/yourlayout" />
untuk menyertakan tata letak yang ingin Anda gunakan kembali.
Lihat tautan ini ...
sumber
<include />
tag, namun Anda dapat melakukannya dengan menggunakan kode java. lihat jawaban Phileo99 di bawah ini untuk mengetahui bagaimana mendapatkan referensi ke layout yang disertakan. dan kemudian Anda dapat mengubah isinya.Perhatikan bahwa jika Anda menyertakannya
android:id...
ke dalam<include />
tag, itu akan menimpa id apa pun yang didefinisikan di dalam tata letak yang disertakan. Sebagai contoh:<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>
Maka Anda akan mereferensikan tata letak yang disertakan ini dalam kode sebagai berikut:
sumber
Gunakan
<include />
tag.<include android:id="@+id/some_id_if_needed" layout="@layout/some_layout"/>
Baca juga artikel Membuat Komponen UI yang Dapat Digunakan Kembali dan Menggabungkan Tata Letak .
sumber
Coba ini
<include android:id="@+id/OnlineOffline" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" layout="@layout/YourLayoutName" />
sumber
Dari dokumen Resmi tentang Menggunakan Kembali Tata Letak
Ini adalah file header.xml saya yang dapat saya gunakan kembali menggunakan tag include
<?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>
Tidak, saya menggunakan tag dalam XML untuk menambahkan tata letak lain dari file XML lain.
<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>
sumber
Because I want to reuse a ProgressBar
masalah apa yang akan datang?Pelajari Lebih Lanjut Menggunakan tautan ini https://developer.android.com/training/improving-layouts/reusing-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>
Tata letak di atas Anda dapat digunakan dalam aktivitas lain menggunakan
<?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>
sumber