我也来开发2048之配置界面设计

简介: 我们的程序当然不像现在市面上的2048那样死板,一辈子4X4的面板,现在的人,讲究的就是随心所欲,所有的东西都在我的掌控中,这才爽。所以我们的程序也得有个配置界面,国际惯例,上图:这个配置界面主要完成以下几个功能:1、可配置游戏面板的维数,即4X4,5X5,6X6,其实继续写下去也是...

我们的程序当然不像现在市面上的2048那样死板,一辈子4X4的面板,现在的人,讲究的就是随心所欲,所有的东西都在我的掌控中,这才爽。

所以我们的程序也得有个配置界面,国际惯例,上图:



这个配置界面主要完成以下几个功能:

1、可配置游戏面板的维数,即4X4,5X5,6X6,其实继续写下去也是可以的,但是,欲望也是要有限度的啊,差不多就够了

2、要达到的目标,你可以选择到1024就爽了呢,还是2048才爽,还是4096才爽,其实也是可以一直写下去的,老规矩,不要把自己逼的太紧了,差不多就行了,虐自己何必呢

3、Contact Me,给我的博客打个广告啦

配置功能,基本写入SharedPreferences,这个因为大家使用都比较多了,就不详细说了

下面是源码:

package com.xys.game2048.activity;

import com.xys.game2048.R;
import com.xys.game2048.config.Config;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class ConfigPreference extends Activity implements OnClickListener {

    private Button btnGameLines;

    private Button btnGoal;

    private Button btnBack;

    private Button btnDone;

    private String[] gameLinesList;

    private String[] gameGoalList;

    private AlertDialog.Builder builder;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.config_preference);
	initView();
    }

    private void initView() {
	btnGameLines = (Button) findViewById(R.id.btn_gamelines);
	btnGoal = (Button) findViewById(R.id.btn_goal);
	btnBack = (Button) findViewById(R.id.btn_back);
	btnDone = (Button) findViewById(R.id.btn_done);
	btnGameLines.setText("" + Config.sp.getInt(Config.KEY_GameLines, 4));
	btnGoal.setText("" + Config.sp.getInt(Config.KEY_GameGoal, 2048));
	btnGameLines.setOnClickListener(this);
	btnGoal.setOnClickListener(this);
	btnBack.setOnClickListener(this);
	btnDone.setOnClickListener(this);
	gameLinesList = new String[] { "4", "5", "6" };
	gameGoalList = new String[] { "1024", "2048", "4096" };
    }

    private void saveConfig() {
	Editor editor = Config.sp.edit();
	editor.putInt(Config.KEY_GameLines, Integer.parseInt(btnGameLines.getText().toString()));
	editor.putInt(Config.KEY_GameGoal, Integer.parseInt(btnGoal.getText().toString()));
	editor.commit();
    }

    @Override
    public void onClick(View v) {
	switch (v.getId()) {
	case R.id.btn_gamelines:
	    builder = new AlertDialog.Builder(this);
	    builder.setTitle("choose the lines of the game");
	    builder.setItems(gameLinesList, new DialogInterface.OnClickListener() {

		@Override
		public void onClick(DialogInterface dialog, int which) {
		    btnGameLines.setText(gameLinesList[which]);
		}
	    });
	    builder.create().show();
	    break;
	case R.id.btn_goal:
	    builder = new AlertDialog.Builder(this);
	    builder.setTitle("choose the goal of the game");
	    builder.setItems(gameGoalList, new DialogInterface.OnClickListener() {

		@Override
		public void onClick(DialogInterface dialog, int which) {
		    btnGoal.setText(gameGoalList[which]);
		}
	    });
	    builder.create().show();
	    break;
	case R.id.btn_back:
	    this.finish();
	    break;
	case R.id.btn_done:
	    saveConfig();
	    setResult(RESULT_OK);
	    this.finish();
	    break;
	default:
	    break;
	}
    }
}

以上
目录
打赏
0
0
0
0
16
分享
相关文章
分享30个优秀的iPad界面设计案例
  毫无疑问,苹果iPad看起来是美丽和迷人的,iPad的多点触摸和其他现代技术都是让用户真正感受到舒服的设计。在这篇文章中,我们收集了30个优秀的iPad应用程序界面设计的例子,希望你能从这些美丽的应用程序界面设计中得到启发。
1487 0
优秀的后台管理界面设计案例分享
今天这篇文章收集了30个漂亮的应用程序后台管理界面分享给大家。这些界面都是来自themeforest网站,虽然直接下载需要付费的,不过大部分都提供了在线预览,所以完全能够复制下来,有的提供了预览图,设计师可以根据预览图自己设计。
792 0
30个优秀的后台管理界面设计案例分享
  今天这篇文章收集了30个漂亮的应用程序后台管理界面分享给大家。这些界面都是来自themeforest网站,虽然直接下载需要付费的,不过大部分都提供了在线预览,所以完全能够复制下来,有的提供了预览图,设计师可以根据预览图自己设计。
1386 0
34个漂亮的应用程序后台管理界面设计(系列三)
  今天这篇文章收集了34个漂亮的应用程序后台管理界面设计案例分享给大家。这些界面都是来自themeforest网站,基本上都可以在线预览,所以完全能够复制下来,有的提供了预览图,设计师可以根据预览图自己设计。
1278 0
设计师必看的25个优秀的移动界面设计案例
  就我个人而言,我很喜欢查看新潮的手机应用程序界面设计,这是我现在最喜欢的爱好之一。设计师都知道 Behance 和 Dribbble 这两个网站,上面有聚集了最优秀的设计师和最前沿的设计作品。   这里分享的25款创新的移动界面设计案例都是从这些网站挑选出来的,希望这些优秀的应用程序界面设计能让你得到启发。
1410 0
《社交网站界面设计(原书第2版)》——2.5 严格 VS. 灵活的分类法
本节书摘来自华章计算机《社交网站界面设计(原书第2版)》一书中的第2章,第2.5节,作者:(美)克里斯蒂安·克鲁姆里什(Christian Crumlish),艾琳·马洛恩(Erin Malone)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1024 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等