1
A
回答
3
即使android鼓励为此使用布局(因为有几种尺寸,维度布局的屏幕质量分辨率,您将在所有设备上具有相同的方面)。
还有其他2种方法可以做到这一点
1)改变家居的OpenGL的看法^^但多数民众赞成取出佳能获得蚊子。
2)创建您自己的视图,重写onDraw(画布)并在那里做自己的绘图。
我不得不提醒你得到它很乏味正确地得到在画布上
编辑 这里所有的图纸位置是一些代码来让你开始编程方式创建您的看法,我还添加了触摸测试。 (有一件事我想引起你的注意:有一个image.getWidth()(图片的实际大小)和一个image.getScaledWidth(画布),它给你在dp元素的大小,这意味着如何大,它会出现在屏幕上)
public class MainMenuView extends PixelRainView{
private Bitmap bmpPlay = null;
private float playLeft = 0;
private float playRight = 0;
private float playBottom = 0;
private float playTop = 0;
public MainMenuView(Context context, AttributeSet attrs) {
super(context,attrs);
}
@Override
public void unLoadBitmaps() {
super.unLoadBitmaps();
if(bmpPlay != null){
bmpPlay.recycle();
bmpPlay = null;
}
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if(bmpPlay == null){
bmpPlay = getBitmapFromRessourceID(R.drawable.play_bt);
playLeft = (this.getWidth()-bmpPlay.getScaledWidth(canvas))/2;
playRight = playLeft + bmpPlay.getScaledWidth(canvas);
playTop = (this.getHeight()-bmpPlay.getScaledHeight(canvas))/2;
playBottom = playTop+bmpPlay.getScaledHeight(canvas);
}
canvas.drawBitmap(bmpPlay,playLeft, playTop, null);
}
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
float x = event.getX();
float y = event.getY();
//test central button
if(x>playLeft && x<playRight && y<playBottom && y>playTop){
Log.e("jason", "touched play");
PixelRainView.changeView(R.layout.composedlayoutgroup);
}
return super.onTouchEvent(event);
}
}
相关问题
- 1. Android更精确定位
- 2. 可能在Android中精确控制定位使用XML
- 3. 获取GPS定位精确
- 4. 在java中保留精确到小数位的精确度
- 5. Android - 如何在正常按钮内精确定位图像
- 6. Android版Canvas上的定位文本包括精确的边界
- 7. Android的GPS定位真正精度差
- 8. 如何在android mapview中精确显示当前位置?
- 9. 如何用Bootstrap精确定位标题?
- 10. 如何让drawText()精确定位?
- 11. 在谷歌地图上使用ASP.NET精确定位位置
- 12. 如何在C中精确定位直线#
- 13. 如何在Graphics3D中精确定位相机?
- 14. 如何在精确的像素位置
- 15. Java中的精确XPATH位置
- 16. 精确控制GLSL中的纹理位
- 17. 有没有一种技术可以精确定位iPhone的*精确*位置(在室内/脚下)?
- 18. 如何将文本定位到一个精确的位置
- 19. 精确的Android MediaPlayer seekTo
- 20. Perl打印精确位置
- 21. FusedLocationProvider - 精确位置和wifi
- 22. SVG ul菜单不会定位到精确的水平中心
- 23. 获取小数位的精确精度从双在.net 3.5
- 24. Android开发,Java中的精确计算?
- 25. 在android中获取当前精确位置的最佳方式是什么?
- 26. 在LINQ中确定日期时间值与精确精度的相等性
- 27. 使用Cocos重定位Android中的精灵
- 28. 在jsp中显示精确的2位小数的双精度值
- 29. 如何获得精确的GPS坐标Android位置服务
- 30. Android更改位置精度
你使用什么布局? AbsoluteLayout,LinearLayout,RelativeLayout?你的形象有哪些属性?你使用dp(密度独立像素)?给我们一些见解! – philgiese 2010-11-18 07:12:10
使用LinearLayout.I我使用DP.Have没有尝试太多因为我卡住没有线索。我会尝试AbsoluteLayout但听说它已被弃用。 – James 2010-11-18 08:18:28
abosulte仍然存在,但被标记为废弃,所以我想很快就不会被支持了。我把代码创建自己的视图,但你会看到它是令人讨厌的过程,你必须添加更多的代码,使它看起来不错,无论屏幕的大小^^ – 2010-11-18 08:39:48