我目前正在开发我的第一个Android项目,即修改现有的示例程序(“Tic Tac Toe”游戏)。我正在浏览官方网站上的教程,但看看示例代码,我认为我不能在我拥有的时间内自行解决所有问题。
修改包括能够选择自定义背景,设置评分系统以及实现定时“闪电战”模式。我的基本问题是:
在哪个子文件夹中设置游戏背景颜色/图像的代码是?
有没有办法创建一个Intent功能,打开一个文件搜索窗口,允许用户选择这个自定义背景图像?
我想从这里开始,我相信随着时间的推移,我会有更多的问题。一如往常,任何帮助表示赞赏。 (顺便说一下,游戏中的代码来自Android SDK for Eclipse中安装的标准示例问题)。
更新1:
到目前为止,我在名为GameView的类中找到了这个:
mDrawableBg = getResources().getDrawable(R.drawable.lib_bg);
setBackgroundDrawable(mDrawableBg);
mDrawableBg是一个Drawable对象,我不确定这个部分是什么样的改进:
R.drawable.lib_bg
在这段代码中修改背景的正确方法是什么?
更新2:
这是我在的地方:
我有getDrawable函数将另一个函数作为参数:
mDrawableBg = getResources().getDrawable(getImage());
getImage()假设返回一个引用所选图像的整数,这里是该函数的代码(到目前为止):
public int getImage(){
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, 10);
}
这是假设打开图库并让用户选择图像,我不知道如何将参考ID返回到所选图像。此外,startActivityForResult函数无法正常工作,我认为我没有正确使用Activity类。
答案 0 :(得分:1)
背景可能被定义为可绘制(/res/drawable-*
)或颜色值(/res/values/colors.xml
或类似的东西)。它将在/res/layout
中的一个布局文件中引用。布局文件将由Java源文件夹中的一个活动类引用。
您可以在代码中声明一个可绘制资源ID数组,并使用它来动态生成对话框和/或活动。 HorizontalScrollView窗口小部件可能对此有用。如果您启动具有意图的选择活动,请使用startActivityForResult
代替startActivity
。然后,您可以使用setBackgroundResource()
设置顶视图的背景。