简单模拟QQ界面框架。
1 package com.lixu.qqjiemian; 2 3 import java.util.Timer; 4 import java.util.TimerTask; 5 import android.app.Activity; 6 import android.content.Intent; 7 import android.os.Bundle; 8 import android.view.Window; 9 //欢迎界面 10 public class WelcomActivity extends Activity { 11 @Override 12 protected void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 requestWindowFeature(Window.FEATURE_NO_TITLE); 15 setContentView(R.layout.welcom); 16 17 18 // 计时器 19 TimerTask timetask = new TimerTask() { 20 21 @Override 22 public void run() { 23 Intent intent=new Intent(WelcomActivity.this, MainActivity.class); 24 startActivity(intent); 25 26 } 27 }; 28 // 设置时间长短 29 Timer time = new Timer(); 30 time.schedule(timetask, 3000); 31 32 } 33 }
1 package com.lixu.qqjiemian; 2 3 import android.app.Activity; 4 import android.app.Fragment; 5 import android.app.FragmentManager; 6 import android.app.FragmentTransaction; 7 import android.graphics.Color; 8 import android.os.Bundle; 9 import android.view.View; 10 import android.view.Window; 11 import android.widget.TextView; 12 13 public class MainActivity extends Activity implements android.view.View.OnClickListener { 14 private TextView xiaoxi; 15 private TextView lianxiren; 16 private TextView dongtai; 17 18 private TextView title; 19 20 private Fragment xiaoxiFragment; 21 private Fragment lianxirenFragment; 22 private Fragment dongtaiFragment; 23 24 @Override 25 protected void onCreate(Bundle savedInstanceState) { 26 super.onCreate(savedInstanceState); 27 28 requestWindowFeature(Window.FEATURE_NO_TITLE); 29 setContentView(R.layout.activity_main); 30 31 title = (TextView) findViewById(R.id.title); 32 33 xiaoxi = (TextView) findViewById(R.id.xiaoxi); 34 lianxiren = (TextView) findViewById(R.id.lianxiren); 35 dongtai = (TextView) findViewById(R.id.dongtai); 36 37 xiaoxi.setOnClickListener(this); 38 lianxiren.setOnClickListener(this); 39 dongtai.setOnClickListener(this); 40 41 xiaoxiFragment = new XiaoxiFragment(); 42 lianxirenFragment = new LianxirenFragment(); 43 dongtaiFragment = new DongtaiFragment(); 44 // 初始化的界面设置 45 choose(1); 46 title.setText(xiaoxi.getText() + " "); 47 chooseFragment(xiaoxiFragment); 48 49 } 50 51 // 设置点击事件 52 @Override 53 public void onClick(View v) { 54 switch (v.getId()) { 55 case R.id.xiaoxi: 56 choose(1); 57 58 chooseFragment(xiaoxiFragment); 59 60 title.setText(xiaoxi.getText() + " "); 61 62 break; 63 case R.id.lianxiren: 64 65 choose(2); 66 67 chooseFragment(lianxirenFragment); 68 69 title.setText(lianxiren.getText() + " "); 70 71 break; 72 case R.id.dongtai: 73 74 choose(3); 75 76 chooseFragment(dongtaiFragment); 77 78 title.setText(dongtai.getText() + " "); 79 80 break; 81 82 default: 83 break; 84 } 85 86 } 87 88 private void choose(int pos) { 89 switch (pos) { 90 case 1: 91 xiaoxi.setTextColor(Color.BLUE); 92 xiaoxi.setBackgroundColor(Color.GRAY); 93 94 lianxiren.setTextColor(Color.GRAY); 95 lianxiren.setBackgroundColor(Color.WHITE); 96 97 dongtai.setTextColor(Color.GRAY); 98 dongtai.setBackgroundColor(Color.WHITE); 99 100 break; 101 case 2: 102 lianxiren.setTextColor(Color.BLUE); 103 lianxiren.setBackgroundColor(Color.GRAY); 104 105 xiaoxi.setTextColor(Color.GRAY); 106 xiaoxi.setBackgroundColor(Color.WHITE); 107 108 dongtai.setTextColor(Color.GRAY); 109 dongtai.setBackgroundColor(Color.WHITE); 110 break; 111 112 case 3: 113 dongtai.setTextColor(Color.BLUE); 114 dongtai.setBackgroundColor(Color.GRAY); 115 116 lianxiren.setTextColor(Color.GRAY); 117 lianxiren.setBackgroundColor(Color.WHITE); 118 119 xiaoxi.setTextColor(Color.GRAY); 120 xiaoxi.setBackgroundColor(Color.WHITE); 121 break; 122 123 default: 124 break; 125 } 126 } 127 128 // 选择不同的Fragment 的方法 129 private void chooseFragment(Fragment fragment) { 130 131 FragmentManager fm = this.getFragmentManager(); 132 FragmentTransaction ft = fm.beginTransaction(); 133 ft.replace(R.id.fragment, fragment); 134 // 提交 135 ft.commit(); 136 137 } 138 139 }
1 package com.lixu.qqjiemian; 2 3 import android.app.Fragment; 4 import android.graphics.Color; 5 import android.os.Bundle; 6 import android.view.LayoutInflater; 7 import android.view.View; 8 import android.view.ViewGroup; 9 import android.widget.TextView; 10 11 public class XiaoxiFragment extends Fragment { 12 13 @Override 14 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 15 16 View view = inflater.inflate(android.R.layout.simple_list_item_1, null); 17 18 TextView tv = (TextView) view.findViewById(android.R.id.text1); 19 tv.setText("消息界面"); 20 tv.setBackgroundColor(Color.RED); 21 22 return view; 23 } 24 }
1 package com.lixu.qqjiemian; 2 3 import android.app.Fragment; 4 import android.graphics.Color; 5 import android.os.Bundle; 6 import android.view.LayoutInflater; 7 import android.view.View; 8 import android.view.ViewGroup; 9 import android.widget.TextView; 10 11 public class LianxirenFragment extends Fragment { 12 @Override 13 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 14 15 View view = inflater.inflate(android.R.layout.simple_list_item_1, null); 16 17 TextView tv = (TextView) view.findViewById(android.R.id.text1); 18 tv.setText("联系人界面"); 19 tv.setBackgroundColor(Color.GREEN); 20 21 return view; 22 } 23 }
1 package com.lixu.qqjiemian; 2 3 import android.app.Fragment; 4 import android.graphics.Color; 5 import android.os.Bundle; 6 import android.view.LayoutInflater; 7 import android.view.View; 8 import android.view.ViewGroup; 9 import android.widget.TextView; 10 11 public class DongtaiFragment extends Fragment{ 12 13 @Override 14 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 15 16 View view = inflater.inflate(android.R.layout.simple_list_item_1, null); 17 18 TextView tv = (TextView) view.findViewById(android.R.id.text1); 19 tv.setText("动态界面"); 20 tv.setBackgroundColor(Color.YELLOW); 21 22 return view; 23 } 24 25 }
xml:
1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:id="@+id/LinearLayout1" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical" > 7 8 <TextView 9 android:id="@+id/title" 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:gravity="center" 13 android:layout_weight="1" 14 android:textColor="#f44336" 15 android:textSize="30sp" /> 16 17 <FrameLayout 18 android:id="@+id/fragment" 19 android:layout_width="match_parent" 20 android:layout_height="wrap_content" 21 android:layout_weight="10" /> 22 23 <LinearLayout 24 android:layout_width="match_parent" 25 android:layout_height="wrap_content" 26 android:layout_weight="1" 27 android:orientation="horizontal" > 28 29 <TextView 30 android:id="@+id/xiaoxi" 31 android:layout_width="wrap_content" 32 android:layout_height="match_parent" 33 android:layout_weight="1" 34 android:gravity="center" 35 android:text="消息" 36 android:textSize="15sp" /> 37 38 <TextView 39 android:id="@+id/lianxiren" 40 android:layout_width="wrap_content" 41 android:layout_height="match_parent" 42 android:layout_weight="1" 43 android:gravity="center" 44 android:text="联系人" 45 android:textSize="15sp" /> 46 47 <TextView 48 android:id="@+id/dongtai" 49 android:layout_width="wrap_content" 50 android:layout_height="match_parent" 51 android:layout_weight="1" 52 android:gravity="center" 53 android:text="动态" 54 android:textSize="15sp" /> 55 </LinearLayout> 56 57 </LinearLayout>
<?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" ><ImageViewandroid:id="@+id/welcom"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/welcome" /></LinearLayout>
manifest:<activity
android:name=".WelcomActivity"
android:label="@string/app_name"
android:noHistory="true" >
android:noHistory="true"写这个点击回退按钮 不回再回到欢迎界面。
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.lixu.qqjiemian" 4 android:versionCode="1" 5 android:versionName="1.0" > 6 7 <uses-sdk 8 android:minSdkVersion="19" 9 android:targetSdkVersion="19" /> 10 11 <application 12 android:allowBackup="true" 13 android:icon="@drawable/ic_launcher" 14 android:label="@string/app_name" 15 android:theme="@style/AppTheme" > 16 <activity 17 android:name=".MainActivity" 18 android:label="@string/app_name" > 19 </activity> 20 21 <activity 22 android:name=".WelcomActivity" 23 android:label="@string/app_name" 24 android:noHistory="true" > 25 <intent-filter> 26 <action android:name="android.intent.action.MAIN" /> 27 28 <category android:name="android.intent.category.LAUNCHER" /> 29 </intent-filter> 30 </activity> 31 </application> 32 33 </manifest>
运行效果图:
转载于:https://www.cnblogs.com/labixiaoxin/p/5039792.html
简单模拟QQ界面框架。相关推荐
- java qq ui界面_java swing 创建一个简单的QQ界面教程
记录自己用java swing做的第一个简易界面. LoginAction.java package com.QQUI0819; import javax.swing.*; import java.a ...
- java swing 创建一个简单的QQ界面
记录自己用java swing做的第一个简易界面. LoginAction.java package com.QQUI0819;import javax.swing.*; import java.aw ...
- C#模拟QQ项目源代码
一.C#模拟QQ登陆器 using System; using System.Collections.Generic; using System.ComponentModel; using Syste ...
- HTML+CSS 模拟QQ邮箱登录界面
模拟QQ邮箱登录界面 index.html <!DOCTYPE html> <html lang="en"> <head><meta ch ...
- Android Studio仿QQ界面实现简单的功能
文章目录 1. 登录界面 2. 记住密码功能 3. Fragment界面跳转 3.1 Fragement的界面编写 4. 聊天界面 写在前面 由于本人初学阶段,写这篇博客是总结所学的知识点,为后面的进 ...
- 模拟QQ音乐微信登录界面
模拟QQ音乐微信登录界面 先上代码 html代码 <!DOCTYPE html> <html lang="en"> <head><meta ...
- QT 简单仿写QQ界面
因为要写一个跨平台内网传输工具DKD,为了最大程度的代码复用,所以考虑使用QT,对QT不熟悉,10天的摸索,终于画出简易的仿QQ界面,开发环境为:qt creator+gcc,效果如下: 主窗口的区域 ...
- 模拟QQ聊天小项目收尾---界面展示服务端与客户端进行信息交互(用到的知识:io,线程,Swing界面,面向对象思想...... )
大家好,我是一位在java学习圈中不愿意透露姓名并苟且偷生的小学员,如果文章有错误之处,还望海涵,欢迎多多指正 如果你从本文学到有用的干货知识,那么请您尽量点赞,关注,评论,收藏 这两天我一直在设计这 ...
- Jmeter简介以及简单模拟性能测试
1.Jemter简介 1.我们为什么使用Jmeter 开源,免费,基于Java编写,可集成到其他系统可拓展各个功能插件 支持接口测试, 压力(负载和压力)测试等多种功能,支持录制回放, 入门简单相较于 ...
最新文章
- Excel如何快速将科学计数法数字变成正常形式
- Python应用实战案例-一文通读时间序列在Python中的应用
- vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess
- linux下oracle修改最大连接数,linux修改TCP最大连接数
- python教学视频a_2019何老师一个月带你玩转Python分布式爬虫实战教程视频(视频+源码)...
- 史上最简单的玻尔兹曼机模型讲解
- python队列及其实现
- ubuntu sun-java-jdk(zhuan)
- IT运维:如何“hold”住网管的幸福
- golang 语言中关于err的函数的封装使用
- vs2017添加引用出错:对COM组件的调用返回了错误HRESULT E_FAIL
- order( )函数--R语言
- 华为笔试题大总结(基操,务六!!!)
- 100以内的奇数和是多少,问一下100以内的奇数和偶数分别相加起来和是多少?
- POJ 1080 Gene
- 5G时代下,如何做好个人信息保护?
- Automatic Panoramic Image Stitching using Invariant Features 【笔记】
- (第三天)磁盘分区----LVE逻辑卷
- web(vue) 简单使用 mixpanel 网页埋点
- 润和软件为OpenHarmony落地智慧城市构建高效可靠软件基座
热门文章
- [转]从根上理解高性能、高并发:深入计算机底层,理解线程与线程池
- 设计一个60T数据仓库及大数据分析平台,医院数字化该怎么做?
- 从阿里腾讯的大会上得到的启示,来分享一些可视化大屏
- python cmdb_python相关cmdb系统
- github上下载别人的vue项目,本地运行
- Vue安装与IDE HBuilder安装(一分钟读懂)
- python中inspect的用法(这个难懂,后期再补)
- 用python自动化玩游戏封号吗_用 Python 自动化办公能做到哪些有趣或有用的事情?...
- 计算机网络 故障处理,计算机网络通讯技术故障分析与处理
- java contains_Java开发人员犯的十大错误,你犯几个?