Android程序修改

时间:2012-07-23 06:46:08

标签: java android eclipse

我目前正在开发我的第一个Android项目,即修改现有的示例程序(“Tic Tac Toe”游戏)。我正在浏览官方网站上的教程,但看看示例代码,我认为我不能在我拥有的时间内自行解决所有问题。

修改包括能够选择自定义背景,设置评分系统以及实现定时“闪电战”模式。我的基本问题是:

  1. 在哪个子文件夹中设置游戏背景颜色/图像的代码是?

  2. 有没有办法创建一个Intent功能,打开一个文件搜索窗口,允许用户选择这个自定义背景图像?

  3. 我想从这里开始,我相信随着时间的推移,我会有更多的问题。一如往常,任何帮助表示赞赏。 (顺便说一下,游戏中的代码来自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类。

1 个答案:

答案 0 :(得分:1)

  1. 背景可能被定义为可绘制(/res/drawable-*)或颜色值(/res/values/colors.xml或类似的东西)。它将在/res/layout中的一个布局文件中引用。布局文件将由Java源文件夹中的一个活动类引用。

  2. 您可以在代码中声明一个可绘制资源ID数组,并使用它来动态生成对话框和/或活动。 HorizontalScrollView窗口小部件可能对此有用。如果您启动具有意图的选择活动,请使用startActivityForResult代替startActivity。然后,您可以使用setBackgroundResource()设置顶视图的背景。