我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android Studio 制作微信界面 上

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android Studio 制作微信界面 上

工程功能介绍

        打开app,首先是个闪屏界面(常见于一般打开app时的小广告),设置时间为2s后进入登录界面。在登录界面中,中间可以输入密码,点击登录按钮进入微信的界面。

 

        微信的界面由4个fragment组成,第一个fragment用于显示最近收到的信息,第二个fragment用于展示通讯录,该界面用ListView制作而成;第三个是微信的发现界面,第四个fragment用于展示用户的信息。

  

  

        消息界面可以通过点击联系人的方式进入聊天界面,并可与向对方发送消息,点击左上方的返回键可以退出聊天界面。

  

        第三个fragment,也就是发现界面,因为东西有点多,所以用ScrollView作成可以滚动的布局,通过点击最上面的朋友圈栏,可以进入朋友圈界面查看朋友圈,点击左上角的返回键可以返回至发现页面。

 

详细代码

        代码中涉及到一些图片,如果需要图片文件的话可以在文章底部的工程文件中下载,图片的路径为WechatApplication\app\class="lazy" data-src\main\res\mipmap-mdpi

        另外在实际操作中以这个顺序进行在中途程序可能会被打红线,别管他,代码敲完后大体就没了,或者也可以完全不安这个顺序进行。

        闪屏活动

                首先我们来创建闪屏活动,先创建他的布局文件。

                activity_splash.xml

                在layout文件夹中创建新的布局文件,命名为activity_login

        

                SplashActivity

                接下来是他的Java类文件,在包内创建新的Java类命名为SplashActivity

public class SplashActivity extends AppCompatActivity {    private Handler mHandler = new Handler();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_splash);        mHandler.postDelayed(new Runnable() {            @Override            public void run() {                startActivity(new Intent(SplashActivity.this,LoginActivity.class));            }        },2000);    }}

        登录界面

                activity_login.xml

                在layout文件夹中创建新的布局文件,命名为activity_login

                                                                                    

                LoginActivity.java

                在包内创建新的Java类命名为LoginActivity 

public class LoginActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_login);                Button button = findViewById(R.id.btn_login);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intent = new Intent(LoginActivity.this,MainActivity.class);                startActivity(intent);            }        });    }}

        主界面

                终于到了主界面了,首先是activity_main

                activity_main.xml

                                                                                                                                                                                    

                第一个fragment,weixin_fragment.xml

                    

                第二个fragment,tongxunlu_fragment.xml

                    

                第三个fragment,faxian_fragment.xml

                        

                第四个fragment,wode_fragment.xml

                                                            

                接下来是MainActivity.java

public class MainActivity extends AppCompatActivity implements View.OnClickListener {    private LinearLayout mMenuWeixin;    private LinearLayout mMenuTongxunlu;    private LinearLayout mMenuFaxian;    private LinearLayout mMenuWode;    private WeixinFragment weixinFragment = new WeixinFragment();    private TongxunluFragment tongxunluFragment = new TongxunluFragment();    private FaxianFragment faxianFragment = new FaxianFragment();    private WodeFragemnt wodeFragemnt = new WodeFragemnt();    ImageView weixinImg;    ImageView tongxunImg;    ImageView faxianImg;    ImageView wodeImg;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();        weixinImg = (ImageView) findViewById(R.id.caidan_weixin);        tongxunImg = (ImageView) findViewById(R.id.caidan_tongxun);        faxianImg = (ImageView) findViewById(R.id.caidain_faxian);        wodeImg = (ImageView) findViewById(R.id.caidan_wode);        this.getSupportFragmentManager().beginTransaction()                .add(R.id.container_content,weixinFragment)                .add(R.id.container_content,tongxunluFragment)                .add(R.id.container_content,faxianFragment)                .add(R.id.container_content,wodeFragemnt)                .hide(tongxunluFragment).hide(faxianFragment)                .hide(wodeFragemnt).commit();    }    private void initView() {        mMenuWeixin = this.findViewById(R.id.menu_weixin);        mMenuTongxunlu = this.findViewById(R.id.menu_tongxunlu);        mMenuFaxian = this.findViewById(R.id.menu_faxian);        mMenuWode = this.findViewById(R.id.menu_wode);        mMenuWeixin.setOnClickListener(this);        mMenuTongxunlu.setOnClickListener(this);        mMenuFaxian.setOnClickListener(this);        mMenuWode.setOnClickListener(this);    }    @Override    public void onClick(View v){        switch (v.getId()){            case R.id.menu_weixin:                weixinImg.setImageResource(R.mipmap.weixin02);                tongxunImg.setImageResource(R.mipmap.tongxunlu01);                faxianImg.setImageResource(R.mipmap.faxian01);                wodeImg.setImageResource(R.mipmap.wode01);                this.getSupportFragmentManager().beginTransaction()                    .show(weixinFragment).hide(tongxunluFragment)                    .hide(faxianFragment).hide(wodeFragemnt)                    .commit();break;            case R.id.menu_tongxunlu:                weixinImg.setImageResource(R.mipmap.weixin01);                tongxunImg.setImageResource(R.mipmap.tongxunlu02);                faxianImg.setImageResource(R.mipmap.faxian01);                wodeImg.setImageResource(R.mipmap.wode01);                this.getSupportFragmentManager().beginTransaction()                    .show(tongxunluFragment).hide(weixinFragment)                    .hide(faxianFragment).hide(wodeFragemnt)                    .commit();break;            case R.id.menu_faxian:                weixinImg.setImageResource(R.mipmap.weixin01);                tongxunImg.setImageResource(R.mipmap.tongxunlu01);                faxianImg.setImageResource(R.mipmap.faxian02);                wodeImg.setImageResource(R.mipmap.wode01);                this.getSupportFragmentManager().beginTransaction()                    .show(faxianFragment).hide(weixinFragment)                    .hide(tongxunluFragment).hide(wodeFragemnt)                    .commit();break;            case R.id.menu_wode:                weixinImg.setImageResource(R.mipmap.weixin01);                tongxunImg.setImageResource(R.mipmap.tongxunlu01);                faxianImg.setImageResource(R.mipmap.faxian01);                wodeImg.setImageResource(R.mipmap.wode02);                this.getSupportFragmentManager().beginTransaction()                    .show(wodeFragemnt).hide(tongxunluFragment)                    .hide(faxianFragment).hide(weixinFragment)                    .commit();break;            default:break;        }    }}

下一篇

至此制作已完成了一大半,接下来留到下一篇文章

Android Studio 制作微信界面 下_nazonomaster的博客-CSDN博客https://blog.csdn.net/nazonomaster/article/details/124463933

来源地址:https://blog.csdn.net/nazonomaster/article/details/124456716

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android Studio 制作微信界面 上

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android Studio微信界面基础开发

Android Studio微信界面基础开发 基础页面开发 新建页面并编写#第一个框架处理,分为top,content,bottom事件处理函数MainActivity.java package com.example.wexin; imp
2022-06-06

Android Studio微信页面提交

移动互联网开发第一课 Android Studio微信页面提交 如题,本次项目的目标是完成一个微信页面的编写 要求完成以下需求:1. 页面具有标题“微信”2. 页面具有中间显示框3. 页面具有底部选择框,并且具有选择事件4. 页面底部选择框
2022-06-06

android仿微信聊天界面 语音录制功能

本例为模仿微信聊天界面UI设计,文字发送以及语言录制UI。 1先看效果图: 第一:chat.xml设计
2022-06-06

Android Studio移动互联网开发之仿微信主界面页面切换

实践第一课–AS仿微信主界面 — Android Studio仿微信主界面页面切换 源码链接:https://gitee.com/huo_shui_three_thousand/WeChatVIew AS仿微信主界面 首先明确一下我们想要的
2022-06-06

Android ListView实现仿微信聊天界面

本篇内容主要讲解“Android ListView实现仿微信聊天界面”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android ListView实现仿微信聊天界面”吧!Android List
2023-06-20

Android仿微信语音聊天界面设计

有段时间没有看视频了,昨天晚上抽了点空时间,又看了下鸿洋大神的视频教程,又抽时间写了个学习记录。代码和老师讲的基本一样,网上也有很多相同的博客。我只是在AndroidStudio环境下写的。—-主界面代码——public class Mai
2022-06-06

Android雷达扫描动态界面制作

先看看效果图:源码:package com.zihao.radar; import android.app.Activity; import android.os.Bundle; import android.view.Window;
2022-06-06

使用Android制作一个欢迎界面

使用Android制作一个欢迎界面?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。闪屏:在打开App时,展示,持续数秒后,自动关闭,进入另外的一个界面,SplashActiv
2023-05-31

Android中使用Expandablelistview实现微信通讯录界面

之前的博文《Android 中使用ExpandableListView 实现分组的实例》我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的仿微信APP来对ExpandableListView
2022-06-06

Android高仿微信5.2.1主界面及消息提醒

好久没更新博客了,最近在做公司的项目,这也算是我接触的第一个正式项目。通过项目的检验,发现自己积累了一年的知识还是远远不够,想要提高,好的方法是 :项目+书+视频+博客。最重要一点:勤动手。最近发现了慕课网的视频,居然都是高清无码免费的!而
2022-06-06

Android自定义View制作仪表盘界面

前言 最近我跟自定义View杠上了,甚至说有点上瘾到走火入魔了。身为菜鸟的我自然要查阅大量的资料,学习大神们的代码,这不,前两天正好在郭神在微信公众号里推送一片自定义控件的文章——一步步实现精美的钟表界面。正适合我这种菜鸟来学习,闲着没事,
2022-06-06

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录