我被堵在那里了。我试图在背景上放置一个透明的视图。我尝试了几种方法。
通过 XML:
android:background="@color/transparent"
或者
android:color="#80000000"
或者像这样引用 color.xml 文件
<resources>
<color name="transp">#80000000</color>
</resources>
像这样使用我的 layout.xml
android:background="@color/transp"
我也尝试通过生成的代码来做到这一点
myView.getBackground().setAlpha(45);
或者
myViewm.setBackgroundResource(R.color.trans);
我看过一些相关的帖子,但没有一个答案有效。
除此之外,更奇怪的是,所有这些解决方案似乎都可以在 Eclipse 中的 GraphicalLayout 上运行良好。但是当我启动我的设备时,屏幕仍然不透明。我在该视图上画了一条线以确保发生某些事情;这条线确实显示了。
这是我的 layout.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity" >
<ImageView
android:id="@+id/backgroundview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/space_bg"
android:contentDescription="@string/desc" />
<View
android:id="@+id/tileview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/><!--
android:background="@color/transp"/>-->
</RelativeLayout>
和我的代码
private ImageView bg;
MyView tV;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
tV = new MyView(this);
setContentView(tV);
}
和 myView onDraw
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
this.setBackgroundResource(R.color.transp);
canvas.drawLine(10,20,30,40, paint);
}
那么,我哪里错了?谢谢!!!