如何通过仅单击屏幕上的特定位置来隐藏和显示Android操作栏?

时间:2019-12-06 12:54:26

标签: android android-actionbar

如何仅通过单击屏幕上的特定位置来隐藏和显示android操作栏。我的主要想法是隐藏此功能。我不想仅通过触摸屏幕来显示它。

1 个答案:

答案 0 :(得分:0)

您可以通过制作自定义操作栏,并根据需要显示并通过设置可见性来隐藏它来实现此目的。

所以,首先要做的就是

将此添加到您的 style.xml 文件中:-

<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
</style>

并创建一个XML文件,并将以下代码添加到其中。

<androidx.cardview.widget.CardView
    android:id="@+id/card_view"
    android:layout_width="match_parent"
    android:layout_height="@dimen/dp_55"
    card_view:cardBackgroundColor="@color/sky_blue"
    card_view:cardCornerRadius="@dimen/dp_2"
    card_view:cardElevation="@dimen/dp_5">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_margin="@dimen/dp_6"
        android:gravity="center_vertical">

        <ImageView
            android:id="@+id/appBar_image_addButton"
            android:layout_width="@dimen/dp_40"
            android:layout_height="@dimen/dp_40"
            android:layout_centerVertical="true"
            android:layout_marginStart="@dimen/dp_15"
            android:layout_marginLeft="@dimen/dp_15"
            android:src="@drawable/ic_add_circle_black_24dp"
            android:visibility="gone"
            tools:ignore="ContentDescription,RtlHardcoded" />


        <RelativeLayout
            android:id="@+id/relative_backButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentLeft="true"
            android:visibility="gone"
            android:layout_marginRight="@dimen/dp_5"
            tools:ignore="RtlHardcoded">

            <ImageView
                android:id="@+id/appBar_image_back_Button"
                android:layout_width="@dimen/dp_40"
                android:layout_height="@dimen/dp_40"
                android:layout_centerVertical="true"
                android:layout_marginStart="@dimen/dp_15"
                android:layout_marginLeft="@dimen/dp_10"
                android:src="@drawable/ic_back_left_black_24dp"
                tools:ignore="ContentDescription,RtlHardcoded" />

            <TextView
                android:id="@+id/tv_back"
                android:layout_width="wrap_content"
                android:layout_height="@dimen/dp_30"
                android:layout_marginStart="@dimen/dp_50"
                android:layout_marginLeft="@dimen/dp_50"
                android:layout_marginTop="@dimen/dp_12"
                android:text="@string/content_main"
                android:textColor="@color/white"
                android:textSize="@dimen/sp_12"
                android:textStyle="bold"
                tools:ignore="HardcodedText,SpUsage" />

        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/relative_appBar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_marginTop="@dimen/dp_5"
            android:layout_marginEnd="@dimen/dp_5"
            android:layout_marginRight="@dimen/dp_40"
            tools:ignore="RtlHardcoded">


            <ImageView
                android:id="@+id/appBar_image"
                android:layout_width="@dimen/dp_40"
                android:layout_height="@dimen/dp_40"
                android:layout_alignParentEnd="true"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:src="@drawable/ic_dehaze_black_24dp"
                tools:ignore="ContentDescription" />

            <TextView
                android:id="@+id/tv_title"
                android:layout_width="match_parent"
                android:layout_height="@dimen/dp_30"
                android:layout_marginStart="@dimen/dp_70"
                android:layout_marginLeft="@dimen/dp_70"
                android:layout_marginEnd="@dimen/dp_70"
                android:layout_marginRight="@dimen/dp_70"
                android:gravity="center_vertical"
                android:text="text"
                android:textAlignment="center"
                android:textColor="@color/white"
                android:textSize="@dimen/sp_17"
                android:textStyle="bold"
                android:visibility="gone"
                tools:ignore="HardcodedText,RtlHardcoded,SpUsage" />

            <ImageView
                android:id="@+id/img_logo"
                android:layout_width="match_parent"
                android:layout_height="@dimen/dp_30"
                android:layout_marginStart="@dimen/dp_70"
                android:layout_marginLeft="@dimen/dp_70"
                android:layout_marginEnd="@dimen/dp_70"
                android:layout_marginRight="@dimen/dp_70"
                android:gravity="center_vertical"
                android:src="@drawable/logo"
                tools:ignore="ContentDescription" />
        </RelativeLayout>

    </RelativeLayout>
</androidx.cardview.widget.CardView>

将此XML文件包含在您的第一个活动的.xml文件中,如下所示:

   <include layout="@layout/content_activity_main" />

这都是希望,它将对您有所帮助。