Android xml full screen setting

本文详细解析了如何通过XML配置实现应用的全屏显示,包括禁用ActionBar、标题和通知栏,以及设置窗口内容覆盖等关键步骤。
<style name="AppTheme.FullScreen">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>//全屏即无通知栏
    <item name="android:windowContentOverlay">@null</item>//是否有遮盖
</style>
<?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <LinearLayout android:id="@+id/aod_full_screen_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="@dimen/aod_clock_dp_2" android:background="@drawable/shape_edit_operation_panel_bg" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_24" android:layout_marginTop="@dimen/dp_24" android:text="@string/aod_full_screen" android:textFontWeight="500" android:textColor="@color/aod_white_alpha_percent_85" android:textSize="18sp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_24" android:layout_marginEnd="@dimen/dp_16" android:orientation="horizontal"> <com.oplus.anim.EffectiveAnimationView android:id="@+id/full_screen_aod_preview_animation" android:layout_width="@dimen/aod_clock_dp_132" android:layout_height="@dimen/aod_clock_dp_132" android:layout_gravity="center_vertical" android:layout_marginTop="@dimen/dp_32" android:layout_marginBottom="@dimen/dp_32" app:anim_autoPlay="true" app:anim_loop="true" /> <ScrollView android:layout_width="match_parent" android:layout_height="300dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:scrollbars="vertical" android:layout_marginStart="@dimen/dp_24" android:layout_marginTop="@dimen/dp_16" android:layout_marginBottom="@dimen/dp_16" android:textDirection="anyRtl" android:text="@string/aod_full_screen_introduce" android:textColor="@color/aod_white_alpha_percent_55" android:textSize="14sp" /> </ScrollView> </LinearLayout> <com.coui.appcompat.button.COUIButton android:id="@+id/aod_setting_button" android:layout_width="@dimen/aod_apply_button_big_width" android:layout_height="@dimen/aod_clock_dp_44" android:layout_gravity="center_horizontal" android:layout_marginTop="@dimen/dp_24" android:layout_marginBottom="@dimen/aod_clock_dp_2" android:fontFamily="sans-serif-medium" android:gravity="center" android:padding="0dp" android:text="@string/aod_clock_apply" android:textColor="@color/aod_layout_detail_container_text_color_selector" app:animEnable="true" app:disabledColor="@color/aod_white_alpha_percent_30" app:drawableColor="@color/aod_white" app:drawableRadius="@dimen/aod_clock_dp_22" /> </LinearLayout> </layout>第二个TextView滑动条不显示
07-27
Android 布局中,使用 `ScrollView` 包裹 `TextView` 时,滑动条未显示的问题通常与滚动条的启用方式、内容布局以及控件的配置有关。以下是详细的排查与解决方案: ### 设置 `ScrollView` 的高度限制 `ScrollView` 是一个可以包含垂直滚动内容的容器,但其滚动条的显示依赖于内容是否超出可视区域。若 `ScrollView` 的高度设置为 `match_parent` 或固定值,而内容不足以填满整个区域,滚动条将不会显示。建议将 `ScrollView` 的高度设置为固定的 `dp` 值或使用 `wrap_content`,并确保内容足够长以触发滚动行为。 ```xml <ScrollView android:layout_width="match_parent" android:layout_height="300dp"> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="vertical" android:text="@string/long_text" /> </ScrollView> ``` ### 启用 `ScrollingMovementMethod` 以支持滚动行为 `android:scrollbars="vertical"` 属性仅用于控制滚动条的可见性,并不会自动赋予 `TextView` 滚动能力。因此,即使设置了该属性,也必须通过代码启用滚动行为。可以通过调用 `setMovementMethod()` 方法并传入 `ScrollingMovementMethod` 实例来实现。 ```kotlin val textView = findViewById<TextView>(R.id.textView) textView.movementMethod = ScrollingMovementMethod.getInstance() textView.isVerticalScrollBarEnabled = true ``` ### 确保内容超出可视区域 滚动条仅在内容超出 `TextView` 的可视区域时才会显示。若内容较短或布局高度足够显示全部内容,滚动条将不会出现。可以通过设置 `android:maxLines` 或限制 `TextView` 的高度来模拟内容溢出。 ```xml <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="100dp" android:maxLines="5" android:scrollbars="vertical" android:text="@string/long_text" /> ``` ### 自定义滚动条样式以增强可见性 为了确保滚动条可见,可以自定义其样式,例如调整滚动条的大小和颜色。可以通过 `android:scrollbarSize` 和 `android:scrollbarThumbVertical` 属性来实现。 ```xml <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="100dp" android:scrollbars="vertical" android:scrollbarSize="8dp" android:scrollbarThumbVertical="@drawable/custom_scrollbar_thumb" android:text="@string/long_text" /> ``` 其中 `@drawable/custom_scrollbar_thumb` 可以是一个自定义的滚动条样式资源。 ### 检查父布局配置 若使用了沉浸式状态栏或 `fitsSystemWindows` 等特性,确保父布局正确配置,以避免影响滚动条的显示。 ```xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="vertical" android:text="@string/long_text" /> </ScrollView> </LinearLayout> ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值