Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.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_Android Layout_Surfaceview_Slidingdrawer - Fatal编程技术网

Android SurfaceView中图像隐藏的滑动抽屉

Android SurfaceView中图像隐藏的滑动抽屉,android,android-layout,surfaceview,slidingdrawer,Android,Android Layout,Surfaceview,Slidingdrawer,我有一个滑动抽屉和一个自定义的表面视图来渲染图像。我刚刚试着把滑动抽屉往上拉,在这样做的过程中,我发现它在SurfaceView的图像后面,完全隐藏了 你可以想象,这对用户没有多大用处,因此需要图像在拉起时始终落在滑动抽屉后面。这可能吗 如果有帮助,这是xml中的滑动抽屉: <SlidingDrawer android:id="@+id/drawer" android:layout_width="fill_parent"

我有一个滑动抽屉和一个自定义的表面视图来渲染图像。我刚刚试着把滑动抽屉往上拉,在这样做的过程中,我发现它在SurfaceView的图像后面,完全隐藏了

你可以想象,这对用户没有多大用处,因此需要图像在拉起时始终落在滑动抽屉后面。这可能吗

如果有帮助,这是xml中的滑动抽屉:

<SlidingDrawer
             android:id="@+id/drawer"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:handle="@+id/handle"
             android:content="@+id/content"
             android:layout_alignParentBottom="true">

             <TextView
                 android:id="@id/handle"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                 android:gravity="center"
                 android:paddingTop="5dip"
                 android:paddingBottom="5dip"
                 android:textStyle="bold"
                 android:text="text"/>


            <include layout="@layout/content"
                 android:id="@id/content"
                 android:layout_width="fill_parent"
                 android:layout_height="fill_parent"/>

         </SlidingDrawer>

你有没有试过让你的超级班最后抽签,这样你就可以在它下面抽签

@Override
public void onDraw(Canvas canvas) { 
    //Clear canvas
    Paint paint = new Paint();
    paint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));
    canvas.drawPaint(paint);
    paint.setXfermode(new PorterDuffXfermode(Mode.SRC));

    // Draw image
    canvas.drawBitmap(image, imageX, imageY, null);

    super.onDraw(canvas);
}

使用滑动绘图的一个有效方法是使用一个按钮启动一个新活动,然后在
setContentView()之前调用
overridependingtransition(int-enterAnim,int-exitAnim)
以设置活动的动画,使其滑入滑出。

经过多次扫描后,我找到了(简单的)从以下堆栈溢出页回答我的问题:。非常简单,在SlidingDrawer xml元素中添加:

android:background="#00000000";
编辑

在实现后台后,它恢复到我的原始代码,再次停止工作。最后,我发现我遇到的另一个问题是阻止上述解决方案工作的原因。为了其他人的利益,请确保不要通过以下方式将SurfaceView z索引设置为顶部:

sv.setZOrderOnTop(true); 

就连我也面临着类似的问题。但我找到了解决办法

只需执行slideHandleButton.setText(“”);当抽屉关上的时候。这将使按钮出现:)

Blundell,非常感谢您的回复。我试着按照你的建议移动super.onDraw(画布),但恐怕没有什么不同。使用活动的替代方案很好。我会在适当的时候调查的。你的滑动抽屉和表面的XML文件在哪里?i、 我希望是这样,
?布伦德尔,滑动抽屉和表面的布局不同。滑动抽屉位于主活动的布局中,而曲面位于主活动布局中的片段使用的布局中。我使用的是片段。让我们看看主布局的XML以及抽屉和片段,需要确保zIndexing是正确的。我在评论中说:p很高兴你也找到了我!感谢您的帮助。如果您想在顶部绘制布局,请使用:
sv.setzordermediagoverlay(true)
android:background="#00000000";
sv.setZOrderOnTop(true);