Android 安卓——为什么我可以';你不能直接看到风景吗?
我构建了一个名为myview的新视图,包括Android 安卓——为什么我可以';你不能直接看到风景吗?,android,Android,我构建了一个名为myview的新视图,包括OnDraw部分 我尝试在Oncreate中使用setContentView(myview),但是失败了,显示了一些错误 然后我使用addview函数将此视图添加到我的原始布局中,并setContent(R.layout.main) 最后我可以在屏幕上看到结果 出了什么问题?为什么我不能直接使用setContentView(myview)来显示结果 public void onCreate(Bundle savedInstanceState) {
OnDraw
部分
我尝试在Oncreate
中使用setContentView(myview)
,但是失败了,显示了一些错误
然后我使用addview
函数将此视图添加到我的原始布局中,并setContent(R.layout.main)
最后我可以在屏幕上看到结果
出了什么问题?为什么我不能直接使用setContentView(myview)
来显示结果
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myview2=new MyView2(this);
setContentView(R.layout.main2);
RelativeLayout layout= ( RelativeLayout )findViewById(R.id.dashpage);
layout.addView(myview2);
}
class MyView2 extends View{
public MyView2(Context context) {
super(context);
}
Bitmap themometer = BitmapFactory.decodeResource(getResources(),
R.drawable.the);
Matrix matrix2 = new Matrix();
Bitmap themometerbmp = Bitmap.createBitmap(themometer, 0, 0, themometer.getWidth(),
themometer.getHeight(), matrix2, true);
public void onDraw(Canvas canvas2)
{
canvas2.drawBitmap(themometerbmp,90,5,null);
}
}
我认为
setContentView
不是问题所在。您正在尝试使用可拖动的。试试这个:
在MyView2中添加一个函数:
public Bitmap getBitmapFromDrawable (Drawable drawable) {
Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);
return bitmap;
}
然后,而不是
Bitmap themometer = BitmapFactory.decodeResource(getResources(), R.drawable.the);
使用
正如mice建议的那样,您需要提供更多细节和代码。顺便问一下,你是在夸大你的观点吗?错误是系统会立即崩溃。稍后,我将在这里发布我的代码。它可以正常工作,但是,我的意思是,我必须将视图添加到布局中,而不是直接使用setContentView应用视图。您可以发布与崩溃相关的LogCat输出吗?还有,为什么不使用简单的ImageView来代替您的视图呢?
Bitmap themometer = getBitmapFromDrawable(getDrawable(R.drawable.the));