志不强者智不达,言不信者行不果。这篇文章主要讲述Android Studio实现简单的QQ应用相关的知识,希望能为你提供帮助。
项目目录
- ??一、项目概述??
- ??二、开发环境??
- ??三、详细设计??
- ??1、主界面的搭建??
- ??2、消息界面的搭建??
- ??3、联系人界面的搭建??
- ??4、动态界面的搭建??
- ??5、聊天界面的搭建??
- ??6、跳转功能实现??
- ??6.1、选项卡的切换??
- ??6.2、消息列表的适配器??
- ??7、传值的实现??
- ??四、项目效果??
- ??五、项目总结??
- ??六、项目下载??
二、开发环境
三、详细设计1、主界面的搭建在最外层选择的是LinearLayout布局,里面放置一个FrameLayout,用于显示主体内容。
最底下放置了一个子布局,里面是三个TextView,分别为消息、联系人和动态,三个id分别命名为menu1、menu2、menu3,占比都是1,字体大小相同,都是居中显示。预览图如下:
布局文件的代码如下:
< ?xml version="1.0" encoding="utf-8"?>
< LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
< FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="9"> < /FrameLayout>
< LinearLayout
android:id="@+id/menu"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.5">
< TextView
android:id="@+id/menu1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="消息"
android:textSize="25sp"
android:layout_weight="1"/>
< TextView
android:id="@+id/menu2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="联系人"
android:textSize="25sp"
android:layout_weight="1"/>
< TextView
android:id="@+id/menu3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="动态"
android:textSize="25sp"
android:layout_weight="1"/>
< /LinearLayout>
< /LinearLayout>
2、消息界面的搭建在消息界面的设置中,最上面是一个子LinearLayout(线性布局),左侧放置头像ImageView,右侧是TextView,用于显示用户昵称。
接着放置了一个TextView,字体颜色为白色,背景颜色为绿色,用于显示 “ 消息 ” 标题。
底下是ListView,用于显示好友列表。预览图如下:
< ?xml version="1.0" encoding="utf-8"?>
< LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".frag1"
android:orientation="vertical">
< LinearLayout
android:id="@+id/img"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#00BCD4">
< ImageView
android:id="@+id/head"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/head"/>
< TextView
android:id="@+id/num"
android:layout_width="match_parent"
android:layout_height="50dp"
android:textSize="25sp"
android:gravity="bottom"/>
< /LinearLayout>
< TextView
android:layout_width="match_parent"
android:layout_height="45dp"
android:background="#8BC34A"
android:gravity="center"
android:text="消息"
android:textColor="#FFFFFF"
android:textSize="28sp" />
< ListView
android:id="@+id/lv"
android:layout_width=
推荐阅读
- DBeaver连接oracle数据库
- Redis宕机了,数据怎么办()
- 源码分析 ---------openHarmony IPC数据传输情景分析
- Java之API的使用
- 最常用的Linux命令大全
- 如何安装PyCharm图文详解
- Flink处理函数实战之一(深入了解ProcessFunction的状态(Flink-1.10))
- Python安装教程入门必看
- [OpenCV实战]7 使用YOLOv3和OpenCV进行基于深度学习的目标检测