为什么我的自定义View不通过XML文件直接setContentView可以显示的出来但是通过布局文件调用时View在界面上显示不出来?**************************自定义View***************
public class MyImageView extends TextView {
public MyImageView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}public MyImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}public MyImageView(Context context) {
super(context);
// TODO Auto-generated constructor stub
} @Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.RED);
canvas.drawCircle(70, 70, 30, paint);
this.invalidate();
} @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}}
****************************XML布局文件********************************
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.xx.MyImageView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></com.xx.MyImageView>
</LinearLayout>
****************************Activity*****************************
public class TestActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.bingtu);
}
}
public class MyImageView extends TextView {
public MyImageView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}public MyImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}public MyImageView(Context context) {
super(context);
// TODO Auto-generated constructor stub
} @Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.RED);
canvas.drawCircle(70, 70, 30, paint);
this.invalidate();
} @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}}
****************************XML布局文件********************************
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.xx.MyImageView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></com.xx.MyImageView>
</LinearLayout>
****************************Activity*****************************
public class TestActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.bingtu);
}
}
解决方案 »
- 我一运行就报错,大神帮我看看
- the file dx.jar was not loaded from the SDK folder错误
- 横竖屏转换,页面超出屏幕问题
- 我还有问题
- 关于基站定位 google的接口不免费之后,你们都是怎么解决的?
- 怎么给Android系统设置默认视频播放器 求代码
- checkbox怎么设置背景图片自适应
- java.lang.RuntimeException: Unable to create application * : java.lang.NullPoint
- Java程序员 入门移动平台,Android 还是IOS?请高人指点,谢谢!
- android点击返回键收起软键盘时,键盘原来覆盖的部分显示手机界面。
- android 上直接调用openmax IL层的权限不足问题
- 新人配置求教:开发环境安装完毕后,CMD无可用android平台
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></com.xx.MyImageView>改成全屏的protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.RED);
canvas.drawCircle(70, 70, 30, paint);
this.invalidate();
}把画板价格颜色
然后吧this.invalidate()去掉 试试