当前位置: 代码迷 >> Android >> Android页面作美观了真的很难,没信心做自己的应用了,无聊时间做了个QQ仿制品
  详细解决方案

Android页面作美观了真的很难,没信心做自己的应用了,无聊时间做了个QQ仿制品

热度:153   发布时间:2016-05-01 14:12:45.0
Android页面做美观了真的很难,没信心做自己的应用了,无聊时间做了个QQ仿制品

上个月买了个xt701,心想无聊还可以写个应用呢,费了2周时间学习Android的写法,以为熟悉了。然后写了个五子棋,当时以为做界面和Swing一样呢,根本没想到多复杂,就把主要精力放在对弈上了,用了4 5天时间写了电脑的算法,终于我这个初级的五子棋水平已经下不过电脑了,很兴奋的以为程序就完成了,随便去市场一看^^_^^_^,五子棋程序好多,心想可能五子棋太简单了,反正思路差不多,都是对弈,改写象棋吧,又用了一周写了象棋的算法,开始都是在电脑写,终于搜索深度高的时候,根本打不过电脑(我象棋也很菜),很高兴的移植到手机上,发现手机内存和cpu没那么牛,又开始改,最后终于可以在手机上跑了,以为就完成了,结果这就是是悲剧的开始呀。
??
算法写完了,就开始弄界面,悲剧的发现Android的界面好难弄,我以前写swing都是完全用代码根据layout写界面然后放在文件里的,开始用xml配置还真不了解,头大后自我安慰:反正大家玩的是游戏,不是界面,随便写个就当玩票吧(其实也是工作开始忙了,上班没那么多时间了.)随便去网上弄了几个图片,改了改就把我的第一个程序五子棋弄出来了,丢人...看看界面:

写完之后很得意的在自己手机上跑了跑,觉得蛮不错的,丑了点还是可以玩嘛,呵呵,然后开始找我的第一个用户,找到了邻座的同事,他是G8,请求了好久,保证不是垃圾程序之后终于给他装上了,然后效果:

被人好好嘲笑了一番,说这种东西有谁用,你没这个天分呀,郁闷。。

正好这时候来了个新活,就放弃不写了,过了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-permissionandroid: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();

登陆完就是主界面,这个比较复杂,有titlebottom还有tabwidget,中间是一个treeview,需要自己重写:


这张不好,用户少(我是随即生成用户,没办法又没服务器),再来一张

->->

它的最上面是topwidget,点击头像跳转,界面很好做,一个listview就可以了,关键还是图片呀,终于发现美工比程序员重要多了,资料界面:


点击声音设置跳转设置界面:

之后都是在listview上添加监听,都是一些简单的界面
->->->
中间如果考虑费时间的,可以加个Handler,做一个等待标志
->
在线状态,签名,皮肤设置都是简单的Activity:
->->
下载费时间的可以用线程,这里我都用随即模拟的:
->->
群的和好友的基本是一致的
->->->
->->
web的浏览和好友的类似,都是treeview
->->
还有就是聊天和历史记录了,这个不好做,随便弄了下
->->->
还有几个简单的退出之类的,其实除了主界面的treeview,都很简单,主要是布局和图片美工,越做我越发现美工差还是不要做了,会做是一回事,做好是另外一回事,差距有十万八千里呀,最后来个注销,把我的Android也先注销了,先弄点美工知识了,要不做出来也没人要啊.^_^^_^
  相关解决方案