строка состояния перекрывает панель инструментов и работает нормально при воссоздании - PullRequest
0 голосов
/ 10 января 2019

моя панель инструментов проходит под строкой состояния / строка состояния перекрывает панель инструментов. После перехода к другому занятию и возвращения к нему все в порядке.

Ситуация такая же, a screenshot

Уже пробовал использовать

android: fitsSystemWindows = "true".

добавление истины к теме

и ложь тоже,

У меня ничего не работает

<RelativeLayout 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=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:elevation="4dp"
            app:theme="@style/MyActionBar" />

        <ProgressBar
            android:id="@+id/webViewProgressBar"
            style="@style/Widget.AppCompat.ProgressBar"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="center_horizontal"
            android:outlineAmbientShadowColor="@color/crimson"
            android:visibility="gone" />

        <WebView
            android:id="@+id/webViewID"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="false" />

    </LinearLayout>


    <RelativeLayout
        android:id="@+id/rlNotificLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="50dp"
        android:background="@color/black"
        android:padding="7dp"
        android:visibility="gone">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/listView_Notific_Link"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#00c4c3bf"
            android:divider="#00c4c3bf"
            android:dividerHeight="7dp"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:paddingBottom="7dp"
            android:scrollbars="vertical" />
    </RelativeLayout>

</RelativeLayout>

Style.xml

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/crimson_dark</item>
    <item name="android:windowDisablePreview">true</item>
    <item name="colorPrimaryDark">@color/colorPrimary</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>

<style name="MyActionBar" parent="Theme.AppCompat.NoActionBar">
    <item name="actionMenuTextColor">@android:color/white</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>

<style name="MyDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="android:background">#f1f0f0</item>
</style>

<style name="FullscreenTheme" parent="AppTheme">
    <item name="android:actionBarStyle">@style/FullscreenActionBarStyle</item>
    <item name="android:windowActionBarOverlay">true</item>
    <item name="android:windowBackground">@null</item>
    <item name="metaButtonBarStyle">?android:attr/buttonBarStyle</item>
    <item name="metaButtonBarButtonStyle">?android:attr/buttonBarButtonStyle</item>
</style>

<style name="FullscreenActionBarStyle" parent="Widget.AppCompat.ActionBar">
    <item name="android:background">@color/black_overlay</item>
</style>

манифест

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_CALL_LOG" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

<uses-feature
    android:name="android.hardware.camera"
    android:required="false" />
<uses-feature
    android:name="android.hardware.camera.autofocus"
    android:required="false" />
<uses-feature
    android:name="android.hardware.camera.flash"
    android:required="false" />

<application
    android:name=".LeadManagerBaseApp"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <service android:name=".CallRecording.TrackDeviceService" />

    <receiver
        android:name=".CallRecording.DeviceAdmin"
        android:permission="android.permission.BIND_DEVICE_ADMIN">
        <meta-data
            android:name="android.app.device_admin"
            android:resource="@xml/my_admin" />

        <intent-filter>
            <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
            <action android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
            <action android:name="android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED" />
        </intent-filter>
    </receiver>

    <service
        android:name=".FCMNotificationServices.FirebaseInstanceIdService"
        android:stopWithTask="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>

    <meta-data
        android:name="com.google.firebase.messaging.default_notification_icon"
        android:resource="@drawable/car5" />
    <meta-data
        android:name="com.google.firebase.messaging.default_notification_color"
        android:resource="@color/colorAccent" />

    <activity
        android:name=".login"
        android:noHistory="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <service
        android:name=".NotificationService"
        android:enabled="true"
        android:exported="false" />
    <service
        android:name=".NotificationServiceTwo"
        android:enabled="true"
        android:exported="false" />

    <receiver
        android:name=".NotificationReceiver"
        android:enabled="true">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.PACKAGE_ADDED" />
        </intent-filter>
    </receiver>

    <activity android:name=".MainActivity" />
    <activity
        android:name=".AboutActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/title_activity_about"
        android:theme="@style/FullscreenTheme"></activity>
</application>

Можно ли как-нибудь решить эту проблему?

Ответы [ 4 ]

0 голосов
/ 13 января 2019

Вы можете попробовать атрибут "android: fitsSystemWindows =" true "" на родительском макете панели инструментов (LinearLayout)

0 голосов
/ 11 января 2019

Я думаю, что вы пытаетесь сделать полноэкранное действие, как я вижу, вы использовали

android:theme="@style/FullscreenTheme"

атрибут в вашем манифесте для AboutActivity. Чтобы сделать упражнение полным экраном, используйте эту строку в файле Activity.java.

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        requestWindowFeature(Window.FEATURE_NO_TITLE); // To hide Title Bar if needed.

        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

        ...
        ...
        // Other Lines
        ...
        ...
    }
0 голосов
/ 11 января 2019

Хорошо, попробуйте удалить эту строку кода из styles.xml или установите ее в false

    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
0 голосов
/ 10 января 2019

Я думаю, что в вашем макете 2 контейнера прокрутки, поэтому, пожалуйста, используйте вложенный просмотр прокрутки.

Поместите родительский макет webview и recyclerview во вложенный контейнер scrollview.

...