类似QQ中“好友”、“群”、“多人聊天”之间在一个Activity里面切换界面
来源:互联网 发布:拖动拼图验证码js插件 编辑:程序博客网 时间:2024/04/30 08:29
先看看QQ的效果(当然,本文的例子比较简单):
“好友”、“群”、“多人聊天”等在一个Activity里面,但是点击时可以切换成不同的界面!
思路:在一个Activity里面,有两个按钮,点击两个按钮时切换到不同的Fragment
Activity代码:
package com.example.demo3;import android.app.Activity;import android.app.FragmentManager;import android.app.FragmentTransaction;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {private Button todayNews,everNews;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);//初始化组件todayNews=(Button) findViewById(R.id.todayNews);everNews=(Button) findViewById(R.id.everNews);FragmentManager fragmentManager=getFragmentManager();FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();fragmentTransaction.add(R.id.fl_content, new TodayNewsFragment());fragmentTransaction.commit();//当点击往日新闻的按钮时,触发该事件everNews.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {everNews.setTextColor(getResources().getColor(R.color.tab));todayNews.setTextColor(Color.WHITE);everNews.setBackgroundResource(R.drawable.left_bold);todayNews.setBackgroundResource(R.drawable.right_transparent);FragmentManager fragmentManager=getFragmentManager();FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();fragmentTransaction.replace(R.id.fl_content, new EverNewsFragment());fragmentTransaction.commit();}});//当点击今日新闻的按钮时,触发该事件todayNews.setOnClickListener(new OnClickListener() {public void onClick(View arg0) {todayNews.setTextColor(getResources().getColor(R.color.tab));everNews.setTextColor(Color.WHITE);todayNews.setBackgroundResource(R.drawable.left_bold);everNews.setBackgroundResource(R.drawable.right_transparent);FragmentManager fragmentManager=getFragmentManager();FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();fragmentTransaction.replace(R.id.fl_content, new TodayNewsFragment());fragmentTransaction.commit();}});}}
main.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="@android:color/white" android:orientation="vertical" > <LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:background="@color/tab" android:gravity="center" android:paddingLeft="8dp" > <Button android:id="@+id/todayNews" android:layout_width="90dp" android:layout_height="25dp" android:background="@drawable/left_bold" android:gravity="center" android:padding="2dp" android:text="今日新闻" android:textColor="@color/tab" android:textSize="14dp" /> <Button android:id="@+id/everNews" android:layout_width="90dp" android:layout_height="25dp" android:background="@drawable/right_transparent" android:gravity="center" android:padding="2dp" android:text="往日新闻" android:textColor="@color/white" android:textSize="14dp" /> </LinearLayout> <FrameLayout android:id="@+id/fl_content" android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_marginTop="5dp" /></LinearLayout>
两个Fragment:
package com.example.demo3;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class TodayNewsFragment extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubreturn inflater.inflate(R.layout.todaynewsfragment, container, false);}}
package com.example.demo3;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class EverNewsFragment extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubreturn inflater.inflate(R.layout.evernewsfragment, container, false);}}
两个Fragment对应的xml里面都只有一个TextView...
效果:
源码下载:http://download.csdn.net/download/fancheng614/9970586
阅读全文
0 0
- 类似QQ中“好友”、“群”、“多人聊天”之间在一个Activity里面切换界面
- 类似QQ聊天界面
- 在qq里面不加对方为好友 如何聊天
- 网页跳转QQ聊天界面和添加好友界面
- 一个Activity中,动态切换界面
- 一个类似QQ的java聊天程序
- 【从头学android】在两个Activity之间实现界面切换
- 在网页中点击链接就可以和在线好友QQ聊天
- 类似于微信的在一个Activity中界面的相互切换
- 用FragmentActivity模仿qq群组,好友等滑动界面切换.
- 用FragmentActivity模仿qq群组,好友等滑动界面切换.
- 类似QQ聊天界面,ListView的item显示不同布局
- Qt与HTML,jQuery交互实现类似QQ聊天界面
- 在一个Activity中切换多个layout
- Android 使用setContentView在一个Activity进行界面切换
- 在Google Talk上与QQ、MSN好友聊天(转)
- 在 GoogleTalk上与QQ、MSN好友聊天
- 在WEB项目中调用QQ通讯组件打开QQ聊天界面
- Linux-centos下安装lvs+keepalived高可用
- APICloud框架——总结一下最近开发APP遇到的一些问题 (三)
- Spring AOP
- 身份证识别SDK-身份证识别api(移动端-服务器端)
- 每周LeetCode算法题(一):Longest Substring Without Repeating Characters
- 类似QQ中“好友”、“群”、“多人聊天”之间在一个Activity里面切换界面
- C语言的二维指针及其动态内存分配和释放
- Http协议
- php基础面试题
- mybatis 解析Integer为0的属性,解析成空字符串
- Protocol Buffer技术详解(语言规范)
- 搭建reactive-demo
- mysql数据库权限管理
- AVL tree 记忆