android studio微信界面设计,android studio开发微信界面

android studio开发微信界面

android studio开发微信界面

功能说明:主要是做微信的简单的聊天界面,利用Fragment,进行微信界面的跳转

项目代码:

源代码地址

MainActivity.java:

package com.example.mywechat;

import android.app.Activity;

import android.app.Fragment;

import android.app.FragmentManager;

import android.app.FragmentTransaction;

import android.os.Bundle;

import android.view.View;

import android.view.Window;

import android.widget.ImageButton;

import android.widget.LinearLayout;

public class MainActivity extends Activity implements View.OnClickListener {

private Fragment mTab01= new weixinFragment();

private Fragment mTab02= new frdFragment();

private Fragment mTab03= new contactFragment();

private Fragment mTab04= new settingsFragment();

private FragmentManager fm;

private LinearLayout mTabWeixin;

private LinearLayout mTabFrd;

private LinearLayout mTabAddress;

private LinearLayout mTabSettings;

private ImageButton mImgWeixin;

private ImageButton mImgFrd;

private ImageButton mImgAddress;

private ImageButton mImgSettings;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

initView();

initFragment();

initEvent();

selectfragment(0);

}

private void initFragment(){

fm = getFragmentManager();

FragmentTransaction transaction =fm.beginTransaction();

transaction.add(R.id.id_content, mTab01);

transaction.add(R.id.id_content, mTab02);

transaction.add(R.id.id_content, mTab03);

transaction.add(R.id.id_content, mTab04);

transaction.commit();

}

private void initView(){

mTabWeixin=(LinearLayout)findViewById(R.id.id_tab_weixin);

mTabFrd=(LinearLayout)findViewById(R.id.id_tab_frd);

mTabAddress=(LinearLayout)findViewById(R.id.id_tab_contact);

mTabSettings=(LinearLayout)findViewById(R.id.id_tab_settings);

mImgWeixin=(ImageButton)findViewById(R.id.id_tab_weixin_img);

mImgFrd=(ImageButton)findViewById(R.id.id_tab_frd_img);

mImgAddress=(ImageButton)findViewById(R.id.id_tab_contact_img);

mImgSettings=(ImageButton)findViewById(R.id.id_tab_settings_img);

}

private void initEvent(){

mTabWeixin.setOnClickListener(this);

mTabFrd.setOnClickListener(this);

mTabAddress.setOnClickListener(this);

mTabSettings.setOnClickListener(this);

}

private void hidefragment(FragmentTransaction transaction){

transaction.hide(mTab01);

transaction.hide(mTab02);

transaction.hide(mTab03);

transaction.hide(mTab04);

}

private void selectfragment(int i){

FragmentTransaction transaction=fm.beginTransaction();

hidefragment(transaction);

switch (i){

case 0:

transaction.show(mTab01);

mImgWeixin.setImageResource(R.drawable.tab_weixin_pressed);

break;

case 1:

transaction.show(mTab02);

mImgFrd.setImageResource(R.drawable.tab_find_frd_pressed);

break;

case 2:

transaction.show(mTab03);

mImgAddress.setImageResource(R.drawable.tab_address_pressed);

break;

case 3:

transaction.show(mTab04);

mImgSettings.setImageResource(R.drawable.tab_settings_pressed);

break;

default:

break;

}

transaction.commit();

}

@Override

public void onClick(View v) {

resetimg();

switch (v.getId()){

case R.id.id_tab_weixin:

selectfragment(0);

break;

case R.id.id_tab_frd:

selectfragment(1);

break;

case R.id.id_tab_contact:

selectfragment(2);

break;

case R.id.id_tab_settings:

selectfragment(3);

break;

default:

break;

}

}

public void resetimg(){

mImgWeixin.setImageResource(R.drawable.tab_weixin_normal);

mImgFrd.setImageResource(R.drawable.tab_find_frd_normal);

mImgAddress.setImageResource(R.drawable.tab_address_normal);

mImgSettings.setImageResource(R.drawable.tab_settings_normal);

}

}

运行界面展示:

2235a5df375d6497a79953686cb0c60b.png

54a6669768d02551a29b8ded0b03ecf6.png

android studio开发微信界面相关教程

项目首页

项目首页 分两步: 开发首页,显示前十帖子; 开发分页,分页显示所有。 开发首页 开发顺序:DAO - Service - Controller DAO (建表、实体类、Mapper 接口、Mapper 映射文件) 建表:讨论贴 content:帖子内容,不知道最大长度,故用 text 类型。 char:长度

使用WSL配合Visual Studio在本地调试linux c++程序的配置方法

使用WSL配合Visual Studio在本地调试linux c++程序的配置方法 WSL(Windows Subsystem for Linux)是win10系统下的一个linux子系统。 借助WSL可以非常方便地在本地即可调试linux下C++程序,不需借助虚拟机等途径,且不需要配置SSH。不仅开启速度非常快,而且

STM32裸机开发基础篇01-开发环境搭建(HAL库)

STM32裸机开发基础篇01-开发环境搭建(HAL库) 众所周知,在32位单片机中,STM32占有重要市场份额,其社区活动频繁,网上相关资料也比较多,无论是学习入门,还是工作使用,都无疑是极好的选择,本节开始,我们将学习如何使用STM32,首先,我们使用HAL库搭建

stm32mp157开发板常用系统工具使用

stm32mp157开发板常用系统工具使用 注意:以下操作都是在开发板上操作,我们的教程涉及多款开发板,不同的 linux 版本,命令用法可能 稍有差异。 5.1.1 df:查看系统已用空间 5.1.1.1 df 支持的命令参数简介 [[emailprotected]:~]# df [-PkmhT] [目录或档名]

【Android】Android 源码方式使用 opencv 库文件

【Android】Android 源码方式使用 opencv 库文件 使用方法 opencv 官方的 SDK 已经有编译好的 so 库,我们可以直接使用,因此我们只需要将平台架构对应的 so 库文件以及头文件提取出来,使用 Android.mk 进行预安装,然后在需要使用 opencv 程序中的 Android.

STM32裸机开发基础篇02-点亮LED (HAL库)

STM32裸机开发基础篇02-点亮LED (HAL库) 上一节,我们完成了STM32单片机开发环境的搭建,本节我们正式学习STM32单片机,编程语言的学习,通常是从第一个hello world开始,而点灯实验便是单片机学习的开始。 1. STM32最小系统简介 一个最小的STM32系统,需要有

关于php使用thrift做服务端开发的那些事

php使用thrift做服务端开发 thrift采用接口描述语言定义和创建服务,用二进制格式传输数据,体积更

Laravel + Dcat admin 开发一个健壮的 erp 项目

Laravel + Dcat admin 开发一个健壮的 erp 项目 4个月前我写过一篇文章 dcat-admin 开源框架在 erp 项目中的应用 在几个月前我只是用其完成一些功能开发。但是在项目健壮,以及代码如 dcat 一些深度结合上做的还是不够完善。这个几个月我重新在已有的经验上,

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值