搜索
有爱,有技术,有你^_^)y
╱人◕‿‿◕人╲订下契约(注册新用户)

合作站点账号登陆

QQ登录

只需一步,快速开始

快捷导航
查看: 882|回复: 13
收起左侧

[很菜勿喷..]一个简单界面引发的一些思考过程

[复制链接]

该用户从未签到

24

主题

35

好友

5097

积分

序章

积分
5097
发表于 2012-11-1 22:38:41 | 显示全部楼层 |阅读模式

╱人◕‿‿◕人╲定下契约

您需要 登录 才可以下载或查看,没有账号?╱人◕‿‿◕人╲订下契约(注册新用户)

x
lz最近在慢慢看android开发
看完书上一个例子后就动手模仿了下...虽然书上和教学视频上说的很多了 但lz手拙做了好久效果如下(没有任何业务功能的...只是界面):

                               
登录/注册后可看大图



                               
登录/注册后可看大图


也就是一个最常见的菜单栏和一个弹出菜单(图片资源,教程等都是李兴华老师的android实战开发经典里的)

这里是lz的一些总结和思考(lz的一些思考过程 大家可以借鉴一下 虽然不是很好的思路的说
):
思路啊~在做之前要想清楚 界面是怎样的
首先要确定好布局之间的关系
主界面中:
最大的是一个RelativeLayout里面有一个显示的面板LinearLayout和一个菜单栏GridView

[mw_shl_code=xml,true]<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        androidrientation="vertical" >
    </LinearLayout>

    <GridView
        android:id="@+id/grad"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:fadingEdge="vertical"
        android:fadingEdgeLength="5dp" />

</RelativeLayout>[/mw_shl_code]

弹出菜单中:
原本Android提供的PopupWindow不够吃的话自己继承一下咯(一定要先调用super(context)
那些字的一行是一个GridView
图片也是一个GridView
那怎么把两个放在一起呢?
再加一个布局管理器吧
于是这两个GridView放在LinearLayout
那么这个LinearLayout对象就是要显示的东西喽
就把LinearLayout作为显示内容的View(contentViw)
继承的PopupWindow的构造方法内的一些代码:

[mw_shl_code=java,true]        layout=new LinearLayout(context);
                layout.addView(title);
                layout.addView(body);
                layout.setOrientation(LinearLayout.VERTICAL);
                this.setContentView(layout);
                super.setBackgroundDrawable(new ColorDrawable(bg));
                super.setWidth(LayoutParams.FILL_PARENT) ;
                super.setHeight(LayoutParams.WRAP_CONTENT) ;
                super.setFocusable(true);[/mw_shl_code]

既然用到了GridView 那么一定会要用Adapter的 两个是配套使用的 一个显示 一个提供显示的内容
但API提供的在实际情况中好像都不够吃的样子....
为了让Adapter有更好的扩展性
可以自己继承一下BaseAdapter并覆写方法
思考一下Adapter需要完成的工作
如果点击一个图标
则该图标处于被选中的状态
图标的背景或者文字的颜色需要改变
这个功能是让包裹这个图标的GridView完成呢还是由图标所在的Adapter完成呢?
其实都可以不过在Adapter中完成更加方便(我的理解啦)
只要将Listenrer中得到的position传入Adapter的一个方法就可以了:
[mw_shl_code=java,true]public void setFocus(int position){
                for(int x=0;x<titles.length;x++){
                        if(x==position){
                                titles[x].setTextColor(fgColorSelect);
                                titles[x].setBackgroundColor(bgColorSelect);
                        }else{
                                titles[x].setTextColor(fgColor);
                                titles[x].setBackgroundColor(bgColor);
                        }
                }[/mw_shl_code]
这样也知道在构造函数中需要传入的东西了:

context是一定要的,

一个表示资源IDint数组,

默认的颜色,

被选中的颜色.(其他比如是文字的话文字大小之类的也要吧 想到就加啦~~~)

[mw_shl_code=java,true]private Context context=null;
        private TextView[] titles=null;    //title數組
        private int bgColor=0;            //背景顏色
        private int bgColorSelect=0;      //選中時的背景顏色
        private int fgColor=0;            //前景顏色
        private int fgColorSelect=0;      //選中時的前景顏色
       
        public TitleGridAdapter(Context context, int[] titlesRes, int bgColor,int bgColorSelect, int fgColor, int fgColorSelect,int textSize) {
......[/mw_shl_code]

这是lz今天在做的东西..看完视频后 模仿一步一步来的.最后也差不多做好了 其实有时候代码不难 就是关系很难理清楚 不过做得多了也就好了啦 lz现在做着还不是很顺手 因为思路不够开阔的样子啊.......

做美工的孩子们都是辛苦的孩子们...都是有创造力的孩子们



评分

参与人数 1宅币 +25 贡献 +1 元气(技能点) +1 收起 理由
风音洛洛 + 25 + 1 + 1 o(* ̄▽ ̄*)ブ 发糖

查看全部评分

签名被小宅喵吞掉了~~~~(>_<)~~~~
回复

使用道具 举报

该用户从未签到

265

主题

325

好友

3万

积分

第二章

请大家投我一票射射

积分
33961
发表于 2012-11-1 22:47:29 | 显示全部楼层
目测是触触
蠢爆了
回复 支持 反对

使用道具 举报

该用户从未签到

24

主题

35

好友

5097

积分

序章

积分
5097
 楼主| 发表于 2012-11-1 23:05:51 | 显示全部楼层

触触是什么...能吃吗..
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

265

主题

325

好友

3万

积分

第二章

请大家投我一票射射

积分
33961
发表于 2012-11-1 23:12:17 | 显示全部楼层
fair_jm 发表于 2012-11-1 23:05
触触是什么...能吃吗..

嘎嘣脆哦~
蠢爆了
回复 支持 反对

使用道具 举报

该用户从未签到

23

主题

70

好友

8569

积分

序章

积分
8569
发表于 2012-11-14 01:05:50 | 显示全部楼层
用eclipse创建android activtiy,然后XML进行可视化设计不是更简单?
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

24

主题

35

好友

5097

积分

序章

积分
5097
 楼主| 发表于 2012-11-14 12:29:45 | 显示全部楼层
墨霺 发表于 2012-11-14 01:05
用eclipse创建android activtiy,然后XML进行可视化设计不是更简单?

............我难道不是这么做的吗....
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

23

主题

70

好友

8569

积分

序章

积分
8569
发表于 2012-11-14 20:22:21 | 显示全部楼层
fair_jm 发表于 2012-11-14 12:29
............我难道不是这么做的吗....

呃,还以为是撸代码来设置界面
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

24

主题

35

好友

5097

积分

序章

积分
5097
 楼主| 发表于 2012-11-15 14:54:26 | 显示全部楼层
墨霺 发表于 2012-11-14 20:22
呃,还以为是撸代码来设置界面

...撸代码也有撸代码的好处~~~~~~不过我看到那本教材里面的视频...里面的老师是完全自己写配置文件...没用可视化.......
而且现在默认的RelativeLayout在不同手机上那个状况叫一个惨啊..主要是相对位置的一些问题(在可视化编辑时看上去蛮好的 一到真机..就 额........)...自己撸代码还是用LinearLayout比较多
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

45

好友

8018

积分

序章

积分
8018
发表于 2012-11-19 22:21:02 | 显示全部楼层
撸主说的是啊!!   我也表示这种东西都是模仿简单创意难啊~
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

23

主题

70

好友

8569

积分

序章

积分
8569
发表于 2012-11-19 22:41:07 | 显示全部楼层
fair_jm 发表于 2012-11-15 14:54
...撸代码也有撸代码的好处~~~~~~不过我看到那本教材里面的视频...里面的老师是完全自己写配置文件...没 ...

啊咧,窝用RelativeLayout~不过现在都是AVD启动的,压力不大~反正初学阶段先不考虑机型问题了~
不过某种程度,撸代码有撸代码的好处,但是既然有好的工具,不用白不用啊,方便快捷嘛~
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

13

好友

4115

积分

序章

积分
4115
发表于 2013-7-2 11:03:19 | 显示全部楼层
对我来说好高深的赶脚。。
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

27

主题

33

好友

1万

积分

第一章

积分
18429
发表于 2013-7-2 12:38:39 | 显示全部楼层
好亲切的代码……开发iOS的路过
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

15

好友

4041

积分

序章

积分
4041
发表于 2013-8-28 10:50:37 | 显示全部楼层
现在,如果一个UI设计师同时又拥有代码的编写能力,那简直就是神啊,太需要创造力了
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

4

主题

25

好友

3008

积分

序章

积分
3008
发表于 2013-8-28 11:14:43 | 显示全部楼层
表示没那么多想象力,还是老老实实撸代码好了= =创意方面让妹子来做~
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

本版积分规则

小黑屋|手机版|技术宅(Z站|基宅) ( 粤ICP备18082987号-1 )

GMT+8, 2025-7-7 21:40 , Processed in 0.137868 second(s), 33 queries , Redis On.

Copyright © 2018 技术宅社区

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表