MyFlag Step9 :Flag功能相关的设计
来源:互联网 发布:云计算为什么这么火 编辑:程序博客网 时间:2024/05/29 15:08
引言
不知不觉,我们的创新项目实训已经过去了大半,按照我们事先商定好的计划,这周的任务主要是安卓客户端与后天有关具体的Flag的功能的相关实现,计划能顺利实施,得益于我们前期花费大量时间的讨论以及对工作量的正确的评估。本周的主要任务有:
- 客户端 :我的好友消息和Flag详情
- 后台:DAO层的详细逻辑梳理架构
前端:客户端设计工作的细节调整以及界面优化
在这里我着重介绍下前端的工作:
客户端+前端
1、我的好友消息的主要功能是别人申请添加好友的消息界面:
部分xml代码:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/activity_bg_gray"android:orientation="vertical"><RelativeLayout android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/white"> <ImageButton android:id="@+id/back_btn" android:layout_width="?attr/actionBarSize" android:layout_height="?attr/actionBarSize" android:layout_alignParentLeft="true" android:background="@drawable/toolbar_back_bg" android:onClick="friendMsgBack" android:src="?attr/homeAsUpIndicator" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="验证信息" android:textColor="@color/black" android:textSize="19sp" /> <Button android:id="@+id/messageNextButton" android:layout_width="wrap_content" android:layout_height="?attr/actionBarSize" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:background="@drawable/toolbar_back_bg" android:gravity="center" android:paddingLeft="4dp" android:paddingRight="4dp" android:text="下一步" android:textColor="@color/login_button_default_blue" android:textSize="17sp" /></RelativeLayout><TextView android:layout_width="match_parent" android:layout_height="60dp" android:padding="16dp" android:text="对方需要你填写验证信息" android:textColor="@color/black" android:textSize="17sp" /><EditText android:id="@+id/messageEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white" android:gravity="left|top" android:inputType="textMultiLine" android:minLines="6" android:padding="8dp" android:textColor="@color/black" android:textSize="16sp" /></LinearLayout>
其中,核心控件ListView以及每个item的对应视图
相对应的Activity相关的核心实现部分为MyMessageFriendActivity
其主要功能是从服务器获取数据后的回调函数,根据请求的成功或者失败做出具体的响应。
2、Flag详情界面
设置每条Flag的点击事件,点击后进入flag详情界面,可以查看flag的详情信息,并且有些根据情景设定的功能按钮。
部分xml对的代码设计:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><RelativeLayout android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/white"> <ImageButton android:id="@+id/back_btn" android:layout_width="?attr/actionBarSize" android:layout_height="?attr/actionBarSize" android:layout_alignParentLeft="true" android:background="@drawable/toolbar_back_bg" android:onClick="applySuperviseDetailBack" android:src="?attr/homeAsUpIndicator" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="FLAG详情" android:textColor="@color/black" android:textSize="19sp" /></RelativeLayout><RelativeLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginTop="20dp" android:layout_weight="1" android:background="@color/white" android:gravity="bottom" android:orientation="vertical"> <ImageView android:id="@+id/msg_icon_img" android:layout_width="80dp" android:layout_height="80dp" android:layout_centerHorizontal="true" android:src="@drawable/head_icon_default" /> <RelativeLayout android:id="@+id/nick_name_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/msg_icon_img" android:layout_centerHorizontal="true" android:layout_marginBottom="15dp" android:layout_marginTop="10dp"> <TextView android:id="@+id/applysupervise_detail_nickName_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:maxWidth="150dp" android:text="nick" android:textColor="@color/black" android:textSize="19sp" /> <EditText android:id="@+id/remark_edt" android:layout_width="150dp" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:maxWidth="150dp" android:textColor="@color/black" android:textSize="18sp" android:visibility="gone" /> </RelativeLayout></RelativeLayout><LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="2" android:background="@color/white" android:orientation="vertical"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="80dp" android:layout_marginTop="15dp" android:orientation="horizontal"> <TextView android:id="@+id/isTeam_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="[团体]:" android:textColor="@color/black" android:textSize="15sp" /> <TextView android:id="@+id/applysupervise_detail_flagName_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8dp" android:text="jkl" android:textColor="@color/text_dark_gray" android:textSize="15sp" /> </LinearLayout> <LinearLayout android:id="@+id/supervise_mem_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="80dp" android:layout_marginTop="5dp" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="队员:" android:textColor="@color/black" android:textSize="15sp" /> <TextView android:id="@+id/supervise_member_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/text_dark_gray" android:textSize="15sp" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="80dp" android:layout_marginTop="5dp" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="时间:" android:textColor="@color/black" android:textSize="15sp" /> <TextView android:id="@+id/supervise_detail_time_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/text_dark_gray" android:textSize="15sp" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="80dp" android:layout_marginTop="5dp" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="奖励设置:" android:textColor="@color/black" android:textSize="15sp" /> <TextView android:id="@+id/supervise_detail_award_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/text_dark_gray" android:textSize="15sp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="70dp" android:gravity="center" android:orientation="horizontal"> <Button android:id="@+id/agree_apply_supervise_btn" android:layout_width="120dp" android:layout_height="wrap_content" android:background="@drawable/login_button_bg" android:onClick="agreeApply" android:text="同意申请" android:textColor="@color/white" /> <Button android:id="@+id/refuse_apply_supervise_btn" android:layout_width="120dp" android:layout_height="wrap_content" android:background="@drawable/login_button_bg" android:onClick="refuseApply" android:text="拒绝申请" android:layout_marginLeft="20dp" android:textColor="@color/white" /> </LinearLayout> <TextView android:id="@+id/agree_ornot_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="已同意" android:textColor="@color/login_button_default_blue" android:textSize="18sp" /></LinearLayout></LinearLayout>
显示视图如下:
根据具体的情景设定,设置点击事件等,其中SuperViseDetailActivity的Actiity是在创建后,会获取来自父界面的传入信息,判断来自哪一个界面,从而决定要显示什么按钮,进行什么交互。
代码编写完后,我们进行了代码互测,针对不同的输入信息,设计了多组测试数据,然后在真机上对每一组数据进行实际测试,检查后台返回数据是否,直到这两个功能的测试都运行无误。
MenuPath的持续改进
效果图:
总结
界面的优化过程是一个代码修改工作量小但十分浪费时间的工作过程,往往需要考虑到各方面因素,一丁点的细节虽然用户不会察觉,但是我们还是要努力的做下去。
阅读全文
0 0
- MyFlag Step9 :Flag功能相关的设计
- MyFlag Step 9:Flag相关的功能设计
- myflag step9:新增falg的支持
- MyFlag Step9:app端与服务器端的代码编写
- myFlag step8:个人信息修改、flag的添加以及material design
- MyFlag Step13:打卡功能的初步讨论
- MyFlag Step14: 打卡功能界面的初步
- MyFlag Step5:用户功能
- myflag step14:打卡功能
- myflag step14:打卡功能
- MyFlag Step7:flag和个人信息编写
- MyFlag Step7:flag和个人信息编写
- MyFlag Step3:APP的系统设计和初步详细设计
- MyFlag Step2:APP雏形的展现以及相关规范
- MyFlag Step2:APP雏形的展现以及相关规范
- MyFlag Step2:APP雏形的展现以及相关规范
- MyFlag Step4:APP的详细设计和界面设计
- MyFlag Step4:APP的详细设计和界面设计
- (OK) Sample IPv6 Quagga config
- [command]脚本基本知识
- Android Studio中各种jdk和sdk的类找不到,提示setup jdk
- asdas
- AOJ-problem-874
- MyFlag Step9 :Flag功能相关的设计
- 文章标题
- 贪吃蛇游戏的java源码
- 简单的文本查询和替换小例子
- 兔子问题
- 图解HTTP
- linux常用命令
- MySQL日志文件的开启与参数详解
- 毕业后五年,你会在哪里…