【问题标题】:Fully opaque ImageButtons layered over a CameraPreview在 CameraPreview 上分层的完全不透明的 ImageButton
【发布时间】:2013-10-01 23:15:47
【问题描述】:

我有一个FrameLayout,其中包含一个CameraPreview 和一个RelativeLayoutRelativeLayout 包含一些 ImageButtons。因此:

<FrameLayout>
  <CameraPreview/>
  <RelativeLayout>
    <ImageButton/>
    <ImageButton/>
  </RelativeLayout>
</FrameLayout>

我正在使用CameraPreview 实时预览来自相机的图像。这可以正常工作。 ImageButtons 显示可绘制位图,并出现在相机预览上。

问题在于按钮是半透明的:相机图像在其背景中可见。我希望它们完全不透明,以使它们更明显。我该怎么做?

我尝试在按钮上调用 SetAlpha(),但这似乎没有任何效果。

谁能建议我如何使按钮不透明?

【问题讨论】:

  • 按钮默认不透明。我猜你的 cameraPreview 上的 onDraw 调用会间歇性地在你的按钮上绘制,使其具有透明的效果。也许尝试在按钮上设置 android:bringToFront 属性?
  • @AndrewG 感谢您的建议!不幸的是,它没有任何区别。由于它们在布局中的位置,按钮已经位于 Z 顺序的顶部。我怀疑你对过度绘制是正确的,但我仍然没有找到解决它的方法。

标签: android imagebutton


【解决方案1】:

问题原来是图像按钮没有背景可绘制资源,并且没有从其父层次结构中的任何视图继承资源。

android:background="@android:drawable/btn_default" 添加到ImageButton 的xml 定义中解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    相关资源
    最近更新 更多