0

当我们改变亮度时,它的活动变得透明 所以我们可以看到主屏幕/另一个运行在后面的应用程序。我想要(100%像亮度seekbar一样)在我的自定义seekbar上。在seekbar变化上显示透明活动

我的应用主要活动背景颜色为灰色,

我想在搜索条拖动:我的活动变得透明,并显示后台活动/背景主屏幕,

当拖动完成其回在灰色的背景上正常。

我的研究:

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

这是我最后一次尝试:

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

当我跟随StackOverflow的答案,我得到这个错误每次:

"You need to use a Theme.AppCompat theme (or descendant) with this activity."

=>我也试试,透明背景颜色,透明的绘制,从清单透明,

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

我只有1个主要活动,自定义亮度seekbar和其他选项。

我的清单文件

<?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" 
> 
+0

看到这个链接,并想想你想要什么。 1)[删除seekbar的背景](https://stackoverflow.com/questions/2459326/android-remove-seekbar-background)2)[透明搜索栏](https://stackoverflow.com/questions/26989400/custom -seekbar-thumb-not-transparent-on-lollipop-api21) –

+0

看到这个链接,并采取任何想要的想法。 1)[删除seekbar的背景](https://stackoverflow.com/questions/2459326/android-remove-seekbar-background)2)[透明搜索栏](https://stackoverflow.com/questions/26989400/custom -seekbar-thumb-not-transparent-on-lollipop-api21) –

回答

1

"You need to use a Theme.AppCompat theme (or descendant) with this activity."

这是因为你需要使用一个程序兼容性主题。因此,您可以在styles.xml中定义自定义主题,并将其用作所需Activity的主题。

<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.Translucent设为您的主题

<activity android:name=".MainActivity" 
     android:theme="@style/Theme.AppCompat.Translucent"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
+0

我只是在我的style.xml中,在清单活动中添加你的样式android:theme =“@ android:style/Theme.Translucent”----仍然返回同样的错误... 请检查问题,我在清单中添加我的完整清单文件 –

+0

@AsadRaza,您需要使用Theme.AppCompat.Translucent。看到我的编辑 – Darish

+0

像这样? android:theme =“@ android:style/Theme.AppCompat.Translucent”----它的返回错误。 “无法解决”,你的代码在资源/值/ style.xml –

1

为透明色,你应该提供颜色代码,8位在那里,所以如果你想前两个数字只是#后表示百分比透明度白色与50%的透明度,那么你应该写颜色值为“#50ffffff”。在Java中使用这种技术

你可以像这样

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

在那里我将是从00到99按我的颜色透明度的价值将被改变。以每查询栏值从00到99增加和减少i的值。

+0

我在onCreate()中使用您的代码,其更改我的活动背景色丽和黑暗,不透明。 :( –

+0

什么是你的实际布局背景颜色和你使用什么颜色来透明?你能告诉我那个样本吗? –

+0

尝试在相对布局中放置一个临时文本视图并再次检查它在透明度较低时会消失 –