Как сделать прозрачность

Привет всем, я хочу сделать свой DrawingSurface прозрачным. Я много пробовал, но он не работает.

Вот мой xml-код, чтобы сделать мой вид поверхности прозрачным

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/imageView1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/icon" > </ImageView> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#00000000" > <codewalla.android.drawings.DrawingSurface android:id="@+id/drawingSurface" android:layout_width="fill_parent" android:layout_height="fill_parent" > </codewalla.android.drawings.DrawingSurface> </LinearLayout> </FrameLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:id="@+id/colorRedBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="10" android:onClick="onClick" android:text="R" /> <Button android:id="@+id/colorBlueBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="10" android:onClick="onClick" android:text="G" /> <Button android:id="@+id/colorGreenBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="10" android:onClick="onClick" android:text="B" /> <Button android:id="@+id/undoBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="10" android:onClick="onClick" android:text="U" /> <Button android:id="@+id/redoBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="10" android:onClick="onClick" android:text="R" /> </LinearLayout> </RelativeLayout> 

Solutions Collecting From Web of "Как сделать прозрачность"

Попробуйте это в конструкторе:

 SurfaceView sfvTrack = (SurfaceView)findViewById(R.id.sfvTrack); sfvTrack.setZOrderOnTop(true); // necessary SurfaceHolder sfhTrackHolder = sfvTrack.getHolder(); sfhTrackHolder.setFormat(PixelFormat.TRANSPARENT); 

Является ли ваш DrawingSurface и расширением SurfaceView?

Невозможно заставить SurfaceView делать то, что вы хотите. Механика поверхностного зрения такова, что за ним ничего не видно. (См. Ответ здесь http://groups.google.com/group/android-developers/browse_thread/thread/8d88ef9bb22da574 )

Я проверил вашу иерархию с настраиваемым представлением, расширяющим SurfaceView, и я вижу вашу проблему. Если я переключусь на пользовательское представление, которое просто расширяет представление, я могу получить прозрачность.

 sfvTrack.setZOrderOnTop(true); 

Поместит surfaceView поверх окна, что означает, что вы не можете добавлять элементы поверх поверхностиView.

Если вы хотите добавить виды поверх поверхностного вида; Вам следует рассмотреть возможность использования:

 setZOrderMediaOverlay(true); 

вместо. Это помещает этот поверхностный вид поверх других поверхностей, но все же за окном, позволяя вам добавлять другие видимые виды поверх поверхностного вида.

TexttureView что TexttureView будет лучше для ваших нужд, чем SurfaceView .