Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使自定义Android SurfaceView透明_Android_View_Transparent - Fatal编程技术网

使自定义Android SurfaceView透明

使自定义Android SurfaceView透明,android,view,transparent,Android,View,Transparent,可能重复: 我正在尝试使自定义曲面视图半透明。目前该活动是透明的,因此我可以在其下方看到之前的活动,但只要我添加自定义视图20dp*20dp(称为ControlsOverlayView),它就会在屏幕上显示为一个黑色方块。我看过这篇文章,并尝试过设置背景色、缓存提示和视图的alpha,但都没用 包含该视图的透明活动是ControlSoverLayaActivity.java: public class ControlsOverlayActivity extends Activity {

可能重复:

我正在尝试使自定义曲面视图半透明。目前该活动是透明的,因此我可以在其下方看到之前的活动,但只要我添加自定义视图20dp*20dp(称为ControlsOverlayView),它就会在屏幕上显示为一个黑色方块。我看过这篇文章,并尝试过设置背景色、缓存提示和视图的alpha,但都没用

包含该视图的透明活动是ControlSoverLayaActivity.java:

public class ControlsOverlayActivity extends Activity {

    private ControlsOverlayView overlay;

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);
        TextView textView = (TextView) findViewById(R.id.test_text);
        try {
            textView.setText("test");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }   
    }
}
包含示例TextView和my custom ControlsOverlayView的test.xml布局为:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/test"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <TextView android:id="@+id/test_text"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

  <wp.ui.ControlsOverlayView
    android:layout_width="20dp"
    android:layout_height="20dp" 
    android:background="#00000000"
    android:cacheColorHint="#00000000"
    android:alpha="0"
    />

</FrameLayout>
在我的清单中,我还有:

<activity android:name=".ui.ControlsOverlayActivity" android:theme="@style/Theme.Transparent">
        </activity>

以及主题。透明定义为:

<style name="Theme.Transparent" parent="android:Theme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:backgroundDimEnabled">false</item>
  </style>

真的
@彩色/透明
@空的
真的
假的

同样,这只是自定义视图无法透明。有什么想法吗?

显然是因为你继承了SurfaceView,所以你无法获得透明度参见StackOverflow答案

显然是因为你继承了SurfaceView,所以你无法获得透明度参见StackOverflow答案

哇,不知道我怎么错过了那篇文章。非常感谢。哇,不知道我怎么会错过那个帖子。谢谢。
<style name="Theme.Transparent" parent="android:Theme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:backgroundDimEnabled">false</item>
  </style>