基本上我想要完成的是我想要一个可以传递位图的画布,用我的其他视图对象(按钮,文本视图等)显示在屏幕上。
我为画布视图创建了一个类(它还没有做太多):
public class Foo extends View {
public Foo(Context context) {
super(context);
}
@Override
public void onDraw(Canvas canvas) {
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
// draw a solid blue circle
paint.setColor(Color.BLUE);
canvas.drawCircle(20, 20, 15, paint);
}
}
现在这是我的主要活动:
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button switchLeft = (Button) findViewById(R.id.switch_left);
switchLeft.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//TODO
}
});
Button switchRight = (Button) findViewById(R.id.switch_left);
switchRight.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//TODO
}
});
Foo myCanvas = new Foo(this);
setContentView(myCanvas);
}
}
当我将setContentView调用到画布视图对象时,我的其余视图将从屏幕上消失。如何在不丢失其余视图的情况下调用此视图对象?
感谢。
答案 0 :(得分:1)
您可以在“main”-layout
中引用自己的观点...
<xxx.yyy.Foo
android:background="@drawable/red"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>