如何仅通过单击屏幕上的特定位置来隐藏和显示android操作栏。我的主要想法是隐藏此功能。我不想仅通过触摸屏幕来显示它。
答案 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" />
这都是希望,它将对您有所帮助。