为什么我的自定义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);
}
}
解决方案 »
- 我想实现activity的缩放动画,但是...
- 日期格式设置年/月/日,改为日/月/年,但是主界面显示没有变化
- 关于ExpandableListView和其它组件整合的页面布局
- 连接google地图,执行都ok,但是说没有安装google play service
- listview动态生成的控件怎么获取名字啊
- 有对listactivity 里id@android:list有深刻认识的高人么?
- android微信分享的链接怎么启动app
- 安卓 Base64加密 解密如何使用
- android:layout_weight水平均分怎么设置?
- 使用Android 谷歌新推接口android.media.projection 截屏时使同屏器(miracast协议)断开
- 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()去掉 试试