如何为android选项卡小部件设置透明背景,

如何为android选项卡小部件设置透明背景,,android,android-tabhost,Android,Android Tabhost,是否可以为android tab小部件设置透明背景,我使用下面的代码设置tab背景图像 Drawable drawable = new BitmapDrawable(bgImage); mTabHost.getTabWidget().setBackgroundDrawable(drawable); 但问题是,我能看到一条黑线不是透明的,有人能帮我解决这个问题吗 这里有两件事你需要知道 首先,您可以使用编程方式设置背景 setBackgroundColor(int)(如果要将其

是否可以为android tab小部件设置透明背景,我使用下面的代码设置tab背景图像

   Drawable drawable = new BitmapDrawable(bgImage);
    mTabHost.getTabWidget().setBackgroundDrawable(drawable);

但问题是,我能看到一条黑线不是透明的,有人能帮我解决这个问题吗


这里有两件事你需要知道

首先,您可以使用编程方式设置背景

  • setBackgroundColor(int)(如果要将其设置为颜色)
  • setBackgroundDrawable(Drawable)(如果要将其设置为可绘制类型;此类型已弃用,并已替换为.setBackground(Drawable))
  • setBackgroundResource(int)(用于从R.java设置资源)
其次,使用十六进制值的alpha通道设置透明度。例如,如果你想将背景设置为20%透明度的红色,你可以使用十六进制值
#CCFF0000
。在本例中,CC是255*0.8=204的十六进制数


我有点搞不清楚您想在这里实现什么,因为我不知道
drawable
是从XML文件还是从图像文件创建的。但是,如果bgImage是一个XML文件,您应该能够通过使用
android:background=“”

将上述十六进制值类型应用于XML文件的适当区域来解决问题,创建一个透明的png图像,只是一个空白图像。使此图像成为该栏的背景

mTabHost.getTabWidget().setBackgroundDrawable(R.id.mytransperentimage);

bgImage来自sqlite数据库(所有图像都保存在sqlite中)。我刚刚将不推荐使用的方法改为setBackground,图像顶部有一个透明,但一旦设置为tabWidget,就会显示如上所示的黑色。延伸到蓝线上方的相机图标是bgImage的一部分吗?它看起来像是从下面把太阳图像推到一边。如果是这种情况,并且drawable一直延伸到相机图标的顶部,那么该黑带实际上是图像本身的一部分。将图像的黑色部分更改为透明的唯一方法是使用图像编辑器(如Photoshop)编辑图像本身。我不是平面设计师,但我可能只是画出太阳光的尖端,然后用上图中的黄色背景填充黑色区域。创建的图像顶部是透明的,底部是蓝色,来自omi_android的NAA的评论:它在api级别14r下不工作,你的问题得到了答案。我也有同样的问题…找到了解决方案吗?