算法写完了,就开始弄界面,悲剧的发现 Android 的界面好难弄,我以前写 swing 都是完全用代码根据 layout 写界面然后放在文件里的,开始用 xml 配置还真不了解,头大后自我安慰:反正大家玩的是游戏,不是界面,随便写个就当玩票吧(其实也是工作开始忙了,上班没那么多时间了 . )随便去网上弄了几个图片,改了改就把我的第一个程序五子棋弄出来了,丢人 ... 看看界面:
被人好好嘲笑了一番,说这种东西有谁用,你没这个天分呀,郁闷。。
正好这时候来了个新活,就放弃不写了,过了2周又闲了,心想应该把上次的写完,还有个象棋的呢,算法写了那么久不用不浪费了。又开始写,写完之后在不同手机上一跑,自卑了,根本不行(当时就会用linelayout和绝对定位);想了想还是努力学习下怎么做界面吧,要不然写的好也没用啊,于是在手机上翻了翻,发现QQ的界面很不错,就仿照他写吧.
显示快捷方式,这个简单以前就会:
Intent.ShortcutIconResource shortcutIconResource = Intent.ShortcutIconResource
.fromContext(this, R.drawable.icon);
iconIntent.putExtra("android.intent.extra.shortcut.ICON_RESOURCE",
shortcutIconResource);
iconIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
sendBroadcast(iconIntent);
配置里再加个:
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
效果也差不多:
在网上查了许久,用Notification
Notification notification = new Notification(
R.drawable.icon_online, "手机QQ正在运行", System
.currentTimeMillis());
RemoteViews remoteviews = new RemoteViews(
activity.getPackageName(),
R.layout.notification_app_running);
然后对remoteviews编辑就可以了,它也有图片文字和布局属性,最重要是要一直保持在消息栏上面
notification.flags = notification.flags| Notification.FLAG_ONGOING_EVENT;
然后就是登陆了
登陆主界面只能一点点的绘制了,最终也不怎么好
网络设置可以调用系统的
Intent intent = new Intent("android.settings.WIRELESS_SETTINGS");
this .startctivity(intent)版权之类的也是一个简单的HelpActivity,用Html
.fromHtml转换就可以了
然后是登陆的动画界面:
直接用AnimationDrawable使用一个Handler
Handler loginHandler = new Handler();
loginHandler.postDelayed(new LoginRunable(), 2000L);
在线程里
if (animationDrawable != null) {
animationDrawable.stop();
animationDrawable.start();
登陆完就是主界面,这个比较复杂,有title有bottom还有tabwidget,中间是一个treeview,需要自己重写:
这张不好,用户少(我是随即生成用户,没办法又没服务器),再来一张
->->
它的最上面是topwidget,点击头像跳转,
界面很好做,一个listview就可以了,关键还是图片呀,终于发现美工比程序员重要多了,资料界面: