Android 在seekbar更改时显示透明活动

Android 在seekbar更改时显示透明活动,android,android-animation,android-manifest,android-linearlayout,transparency,Android,Android Animation,Android Manifest,Android Linearlayout,Transparency,当我们改变亮度时,其活动变得透明 因此,我们可以看到主屏幕/后面运行的另一个应用程序。我想要(与亮度seekbar 100%相同)在我的定制seekbar上 我的应用程序主活动背景颜色为灰色 我想在seekbar拖动时:我的活动变得透明,并显示背景活动/背景主屏幕 拖动完成后,在灰色背景上恢复正常 我的研究: 我搜索透明的活动,我发现了许多问题和许多不同的风格和主题选项 这是我最后一次尝试: <activity android:name=".Activity" android

当我们改变亮度时,其活动变得透明 因此,我们可以看到主屏幕/后面运行的另一个应用程序。我想要(与亮度seekbar 100%相同)在我的定制seekbar上

我的应用程序主活动背景颜色为灰色

我想在seekbar拖动时:我的活动变得透明,并显示背景活动/背景主屏幕

拖动完成后,在灰色背景上恢复正常

我的研究:

我搜索透明的活动,我发现了许多问题和许多不同的风格和主题选项

这是我最后一次尝试:

<activity android:name=".Activity" 
     android:theme="@android:style/Theme.Translucent">

每次我遵循StackOverflow答案时,都会出现以下错误:

“您需要将Theme.AppCompat主题(或子代)用于此 活动。”

=>我也尝试过,透明背景色,透明可绘制,透明自清单

结果:背景显示白色,不透明

我只有1个主要活动,带有自定义亮度搜索栏和其他选项

我的清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="st.package">

<uses-permission 
android:name="android.permission.ACTION_MANAGE_OVERLAY_PERMISSION"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity"
        android:theme="@android:style/Theme.Translucent">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>


    <service android:name="st.package.ChatHeadService"
        android:exported="true">
    </service>

    <receiver android:name="MainActivity$switchButtonListener" />
</application>

MainActivity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="overlayhead.overlayhead.MainActivity"
android:orientation="vertical"
android:windowIsTranslucent="true"
android:id="@+id/LinearLayout"
android:background="@android:color/transparent"
>

“此活动需要使用Theme.AppCompat主题(或子代)。”

这是因为您需要使用AppCompat主题。因此,您可以在styles.xml中定义自定义主题,并将其用作所需
活动的主题

<style name="Theme.AppCompat.Translucent" parent="Theme.AppCompat.NoActionBar">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@android:style/Animation</item>
    </style>
“此活动需要使用Theme.AppCompat主题(或子代)。”

这是因为您需要使用AppCompat主题。因此,您可以在styles.xml中定义自定义主题,并将其用作所需
活动的主题

<style name="Theme.AppCompat.Translucent" parent="Theme.AppCompat.NoActionBar">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@android:style/Animation</item>
    </style>

对于颜色透明度,您应提供8位数字的颜色代码,其中#后面的前两位数字表示透明度百分比,因此如果您希望白色具有50%的透明度,则应将颜色值写入“#50ffffff”

通过在java中使用此技术,您可以这样做

yourLayout.setBackgroundColor(Color.parseColor("#"+i+"bdbdbd"));

其中i将根据i值从00到99,颜色透明度将发生变化。因此,根据seekbar值,将i的值从00增加和减少到99。

对于颜色透明度,您应该提供8位数字的颜色代码,其中前两位数字#以百分比表示透明度,因此,如果您想要透明度为50%的白色,则应将颜色值写为“#50ffffff”

通过在java中使用此技术,您可以这样做

yourLayout.setBackgroundColor(Color.parseColor("#"+i+"bdbdbd"));


其中i将根据i值从00到99,颜色透明度将发生变化。因此,根据seekbar值,将i的值从00增加或减少到99。

我只是在mystyle.xml中添加了您的样式,在manifest活动中,android:theme=“@android:style/theme.Translucent”-仍然返回相同的错误。。。请检查问题,我添加我的完整清单file@AsadRaza在清单中,您需要使用Theme.AppCompat.半透明。看到我的编辑了吗?android:theme=“@android:style/theme.AppCompat.Translucent”--返回错误。“无法解析”,您在resource/values/style.xmlnop中的代码,您不需要android前缀,因为这是一个自定义主题,请查看我编辑的答案,谢谢。。谢谢:),现在请告诉我,如何在运行时从java代码更改活动透明和纯色…我只需在my style.xml中添加您的样式,在manifest activity android:theme=“@android:style/theme.Translucent”-仍然返回相同的错误。。。请检查问题,我添加我的完整清单file@AsadRaza在清单中,您需要使用Theme.AppCompat.半透明。看到我的编辑了吗?android:theme=“@android:style/theme.AppCompat.Translucent”--返回错误。“无法解析”,您在resource/values/style.xmlnop中的代码,您不需要android前缀,因为这是一个自定义主题,请查看我编辑的答案,谢谢。。谢谢:),现在请告诉我,如何在运行时从java代码更改“活动透明”和“纯色”…我在onCreate()中使用您的代码,它将更改“活动”背景色lite和dark,而不是透明(您的实际版面背景颜色是什么?您使用什么颜色来透明?您能给我看一下该示例吗?尝试将临时文本视图放在相对版面中,然后再次检查,当透明度较低时,它将消失。如果确实有用,请批准我的回答。我从活动中删除所有样式以测试您的代码…我使用“#”进行测试)+20+“000000”…“#”+50+“000000”…“#”+80+“000000”,结果只是灰色和深灰色,不透明。我在onCreate()中使用您的代码,它更改我的活动背景色lite和深色,不透明(您的实际版面背景颜色是什么?您使用什么颜色来透明?您能给我看一下该示例吗?尝试将临时文本视图放在相对版面中,然后再次检查,当透明度较低时,它将消失。如果确实有用,请批准我的回答。我从活动中删除所有样式以测试您的代码…我使用“#”进行测试)+20+“000000”…“#”+50+“000000”…“#”+80+“000000”,结果只是灰色和深灰色,不透明查看此链接并获取想法。1)2)查看此链接并获取想法。1)查看此链接并获取想法。2)查看此链接并获取想法。1) 2)查看此链接,了解您想要什么。1) 2)