所以我正在尝试为Android编写游戏,我有几个关于android dev的'最佳实践'的问题。我正在写的游戏在屏幕的顶部会有一些骰子,用户应该可以拖动它,在屏幕的下半部分,我需要显示不同数字的列表,更新为骰子被放入一个新的位置。那么,解决这个问题的最佳方法是什么?我已经使用单个视图编写了一些示例代码(可以工作),并绘制了骰子位图和数字,但是所有内容都依赖于分辨率,这让我感到烦恼。我可以通过切换到xml定义的视图,添加骰子视图和数字列表视图,并单独绘制它们来获得任何东西吗?我应该遵循标准或最佳实践吗?
由于
答案 0 :(得分:0)
最好在xml
文件中定义一个布局,以便您的应用在不同的屏幕尺寸上运行..
有关您应该使用xml文件的更多信息,请参阅Android Design Guidelines。
使用xml文件时,请使用dp表示大小,使用sp表示文字大小,尽可能使用wrap_content
和match_parent
。
您还可以在代码中创建与密度无关的像素。请看这个..
public float typedDimension(int a){
return TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP, (float) a,
getResources().getDisplayMetrics());
}
答案 1 :(得分:0)
首先,SurfaceView是游戏开发的不错选择 - 它会比标准视图提供更好的性能。
其次,我所看到的一个很好的技术是写入标准尺寸的离屏表面,然后将该位图缩放到屏幕大小。当你有不同大小的屏幕时,一切都仍然在正确的位置。请注意,您应该按比例缩小而不是按比例放大,因此您可能希望使用不同大小的图像(对于mdpi,hdpi,xhdpi),以避免在较低的设备上使用太多内存。