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