Відповіді:
this.getWindow().getDecorView().findViewById(android.R.id.content)
або
this.findViewById(android.R.id.content)
або
this.findViewById(android.R.id.content).getRootView()
setContentView(R.layout.my_view)
, це повертає батьківську програму цього макета.
Ви можете отримати вигляд Назад, якщо поставити ідентифікатор до своєї макети.
<RelativeLayout
android:id="@+id/my_relative_layout_id"
І зателефонуйте до нього з findViewById ...
findViewById
?
Kotlin
this.findViewById<View>(android.R.id.content)
.rootView
.setBackgroundColor(ContextCompat.getColor(this, R.color.black))
Не існує методу "isContentViewSet". Ви можете поставити деякий фіктивний requestWindowFeature виклик у блок "try / catch" перед setContentView:
спробуйте { requestWindowFeature (Window.FEATURE_CONTEXT_MENU); setContentView (...) } ловити (AndroidRuntimeException e) { // робити що-небудь чи нічого }
Якщо в режимі перегляду вмісту вже встановлено, виклик requestWindowFeature буде винятком.
Найкращий варіант, який я знайшов і менш нав'язливий, - це встановити параметр тегів у вашому xml, наприклад
ТЕЛЕФОН XML РОЗВИТКУ
<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"/>
РОЗМІР ТАБЛЕТУ XML
<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>
а потім зателефонуйте цьому у своєму класі занять:
View viewPager = findViewById(R.id.pager);
Log.d(getClass().getSimpleName(), String.valueOf(viewPager.getTag()));
Сподіваюся, що це працює для u.
getWindow().findViewById(android.R.id.content)
:)