Jawaban:
this.getWindow().getDecorView().findViewById(android.R.id.content)
atau
this.findViewById(android.R.id.content)
atau
this.findViewById(android.R.id.content).getRootView()
setContentView(R.layout.my_view)
, ini mengembalikan induk dari tata letak itu.
Anda bisa mendapatkan tampilan Kembali jika Anda meletakkan ID ke Layout Anda.
<RelativeLayout
android:id="@+id/my_relative_layout_id"
Dan menyebutnya dari findViewById ...
findViewById
?
Kotlin
this.findViewById<View>(android.R.id.content)
.rootView
.setBackgroundColor(ContextCompat.getColor(this, R.color.black))
Tidak ada metode "isContentViewSet". Anda dapat memasukkan beberapa panggilan dummy requestWindowFeature ke blok try / catch sebelum setContentView seperti ini:
coba { requestWindowFeature (Window.FEATURE_CONTEXT_MENU); setContentView (...) } catch (AndroidRuntimeException e) { // lakukan sesuatu atau tidak sama sekali }
Jika tampilan konten sudah diatur, requestWindowFeature akan mengeluarkan pengecualian.
Opsi terbaik yang saya temukan dan yang tidak terlalu mengganggu, adalah mengatur param tag di xml Anda, seperti
LAYOUT XML TELEPON
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="phone"/>
TABLET XML LAYOUT
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="tablet">
...
</RelativeLayout>
dan kemudian panggil ini di kelas aktivitas Anda:
View viewPager = findViewById(R.id.pager);
Log.d(getClass().getSimpleName(), String.valueOf(viewPager.getTag()));
Semoga ini berhasil untuk Anda.
getWindow().findViewById(android.R.id.content)
:)