Saya menggunakan aktivitas dengan set tema dialog, dan saya ingin itu menjadi layar penuh. Saya mencoba segala macam hal, bahkan melalui WindowManager untuk memperluas jendela menjadi lebar penuh dan tinggi secara manual, tetapi tidak ada yang berhasil.
Tampaknya, jendela dialog (atau aktivitas dengan tema dialog) hanya akan berkembang sesuai dengan isinya, tetapi itu pun tidak selalu berhasil. Misalnya, saya memperlihatkan lingkaran bilah progres yang memiliki lebar dan tinggi diatur ke FILL_PARENT (demikian juga wadah tata letaknya), tetapi tetap saja, dialog membungkus bilah progres yang jauh lebih kecil daripada mengisi layar.
Pasti ada cara untuk menampilkan sesuatu yang kecil di dalam jendela dialog tetapi apakah itu diperluas ke ukuran layar penuh tanpa mengubah ukuran kontennya juga?
sumber
Jawaban:
Saya menemukan solusinya:
Dalam aktivitas Anda yang memiliki
Theme.Dialog
set gaya, lakukan ini:Penting bagi Anda untuk menelepon
Window.setLayout()
setelah meneleponsetContentView()
, jika tidak maka tidak akan berhasil.sumber
import android.view.ViewGroup.LayoutParams;
Anda dapat menambahkan nilai ini ke gaya android Anda: windowMinWidthMajor dan android: windowMinWidthMinor
sumber
Saya hanya ingin mengisi hanya 80% dari layar untuk itu saya suka ini di bawah ini
ini hanya berfungsi ketika saya meletakkan getwindow (). setLayout ... baris di bawah setContentView (..)
terima kasih @Matthias
sumber
Bungkus dialog_custom_layout.xml Anda menjadi RelativeLayout alih-alih tata letak lainnya. Itu berhasil bagi saya.
sumber
Untuk Dialog Ini mungkin bermanfaat bagi seseorang. Saya ingin dialog mengambil lebar layar penuh. mencari banyak tetapi tidak ada yang berguna. Akhirnya ini berhasil bagi saya:
setelah menambahkan ini, dialog saya muncul di layar lebar penuh.
sumber
Jawaban ini adalah solusi bagi mereka yang menggunakan "Theme.AppCompat.Dialog" atau "Theme.AppCompat.Dialog" lainnya seperti "Theme.AppCompat.Light.Dialog", "Theme.AppCompat.DayNight.Dialog", dll. Saya sendiri harus menggunakan dialog AppCompat karena saya menggunakan AppCompatActivity sebagai ekstensi untuk semua aktivitas saya. Akan ada masalah yang membuat dialog memiliki padding di setiap sisi (atas, kanan, bawah dan kiri) jika kita menggunakan jawaban yang diterima.
Pada gaya Aktivitas Anda, tambahkan kode ini
Seperti yang Anda perhatikan, masalah yang menghasilkan padding ke dialog kami adalah "android: windowBackground", jadi di sini saya membuat latar belakang jendela menjadi nol.
sumber
Tetapkan lebar minimum di tata letak paling atas.
Sebagai contoh:
sumber
Jawaban Matthias sebagian besar benar tetapi masih belum mengisi seluruh layar karena memiliki padding kecil di setiap sisi (ditunjukkan oleh @ Holmes). Selain kodenya, kita dapat memperbaikinya dengan memperluas gaya Theme.Dialog dan menambahkan beberapa atribut seperti ini.
Kemudian kita cukup mendeklarasikan Activity dengan theme set ke
MyDialog
:sumber
Ini akan sangat membantu untuk orang seperti saya. Buat gaya dialog khusus:
Dalam
AndroidManifest.xml
set file tema untuk aktivitas yang diinginkan:Itu semua, tidak perlu memanggil metode programatik.
sumber
Di file manifes Anda tempat aktivitas kami didefinisikan
tanpa bilah tindakan
sumber