类微信界面

一.开发主题

做一个类微信界面可以点击切换页面的

二设计流程

1.做一个top.xml

代码

<inearLayout
    android:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="65dp"
    android:gravity="center"
    android:orientation="vertical"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_weight="1"
        android:text="Wechat"
        android:textSize="40sp"/>
</LinearLayout>
 

 2.制作bottom.xml

代码展示(部分)

<LinearLayout
    android:id="@+id/linearlayout4"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:orientation="vertical">


    <ImageButton
        android:id="@+id/imageButton"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:contentDescription="@string/app_name"
        app:srcCompat="@android:drawable/star_big_on" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1"
        android:gravity="center"
        android:text="微信" />

 3.写fragment.xml

按要求我们需要做四个tab界面应该新建四个fragment Java文件并生成相对应的xml文件

代码(部分)

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.fragment.app.Fragment;

public class fragment1 extends Fragment {

    // TODO: Rename parameter arguments, choose names that match
    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_1, container, false);
    }
}

4.将其写入activity.main.xml中

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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=".MainActivity">

    <include
        android:id="@+id/include1"
        layout="@layout/top"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <FrameLayout
        android:id="@+id/framelayout1"
        android:layout_width="410dp"
        android:layout_height="638dp"
        app:layout_constraintBottom_toBottomOf="@+id/include2"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/include1"
        app:layout_constraintVertical_bias="0.0">

    </FrameLayout>

    <include
        android:id="@+id/include2"
        layout="@layout/bottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

5.最后对main文件进行编写

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;
import android.view.View;

import android.os.Bundle;

import android.widget.LinearLayout;


public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private Fragment Fragment1,Fragment2,Fragment3,Fragment4;
    private LinearLayout linearlayout1,linearlayout2,linearlayout3,linearlayout4;
    private FragmentTransaction transaction;
    private FragmentManager manager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Fragment1=new fragment1();
        Fragment2=new fragment2();
        Fragment3=new fragment3();
        Fragment4=new fragment4();
        manager=getSupportFragmentManager();
        initial();

        hidden();

        linearlayout1=findViewById(R.id.linearlayout1);
        linearlayout2=findViewById(R.id.linearlayout2);
        linearlayout3=findViewById(R.id.linearlayout3);
        linearlayout4=findViewById(R.id.linearlayout4);
        linearlayout1.setOnClickListener(this);
        linearlayout2.setOnClickListener(this);
        linearlayout3.setOnClickListener(this);
        linearlayout4.setOnClickListener(this);
    }

    private void initial() {

        FragmentTransaction transaction=manager.beginTransaction()

                .add(R.id.framelayout1,Fragment1)

                .add(R.id.framelayout1,Fragment2)

                .add(R.id.framelayout1,Fragment3)

                .add(R.id.framelayout1,Fragment4);

        transaction.commit();

    }

    private void select(int i) {

        hidden();

        switch (i){

            case 1:showfragment(Fragment1);

                break;

            case 2:showfragment(Fragment2);;

                break;

            case 3:showfragment(Fragment3);;

                break;

            case 4:showfragment(Fragment4);;

                break;

        }

    }

    private void showfragment(Fragment fragment) {

        transaction.show(fragment);

    }

    private void hidden() {

        transaction=manager.beginTransaction()

                .hide(Fragment1)

                .hide(Fragment2)

                .hide(Fragment3)

                .hide(Fragment4);

        transaction.commit();

    }

    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.linearlayout1:
                select(1);
                break;
            case R.id.linearlayout2:
                select(2);
                break;
            case R.id.linearlayout3:
                select(3);
                break;
            case R.id.linearlayout4:
                select(4);
                break;

        }

    }

}

运行截图展示

 

 

 

 代码仓库:蔡文杰/Android studio - 码云 - 开源中国 (gitee.com)

ikun头子
关注 关注
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
android微信代码大全,微信隐藏代码大全,99%的人都不知道
weixin_32957761的博客
05-26 3万+
1、自我修复代码微信拥有自我修复代码相信很多小伙伴并不知晓,当我们使用微信时如果遇到崩溃、假死、网络延迟等问题,请不要慌张试下以下代码。输入代码“//recover”iOS:添加朋友中输入“:recover”根据出现的问题选择需要修复的功能。Android:在任意聊天窗口输入“//recover” 如果微信没有损坏,就会出现“损坏文件不存在“的提示,如果有损坏直接进入修复模式。2,将微信文章和聊天...
Android Studio 类微信界面的制作
m0_62822070的博客
09-30 1980
微信界面
html+css+js爱心代码
jiangcr123的博客
11-06 1万+
最近好像爱心代码很火
Android studio实现类微信界面
qq_52895332的博客
09-30 1681
Android studio完成类微信界面
Android Studio——类微信界面设计
qq_59564018的博客
09-30 2780
Android studio制作简易类微信界面。展示四个可切换界面,当点击下方按钮时,界面随之切换。分别对应四个界面的中间内容,内容随意,设置颜色背景及大小。
安卓 类微信界面开发(一)
qingsongxyz的博客
03-19 2060
安卓使用fragemnt编写类微信界面
微信界面框架的搭建
sd1_mc的博客
09-29 746
微信的框架开发
html 微信界面,微信界面.html
weixin_42516040的博客
06-04 1252
微信界面*{margin:0px;padding:0px;}.all{padding-top:40px;padding-bottom:50px;}img{border:0px;vertical-align:middle;width:100%;}.clearfix:after{content:"";clear:both;display:table}.fl{float:left}.header{bac...
微信界面设计
weixin_45772141的博客
10-09 4020
实验一 APP门户界面设计一、界面功能介绍二、界面开发步骤及关键代码二、单个页面效果三、界面运行效果展示四、源代码仓库地址 一、界面功能介绍 1.该页面可以展示出微信、联系人、朋友、设置四个界面。 2.用户可通过点击实现四个界面之间的相互切换,正在使用的界面图标为绿色,其余未使用的界面图标为灰色,中间部分的内容随着图标的切换而变换,其余部分保持不变。 3.界面整体布局为上中下三个部分:上部分为APP名称“WeChat”,中间部分为内容显示,下部分为四个图标分别代表微信、联系人、朋友、设置。 二、界面开发步骤
android 仿微信demo————微信消息界面实现(服务端)
热门推荐
stormzhuo的博客
06-14 3万+
服务端微信消息页实现 微信消息页的实现,和登录,注册是类似的,无非就是接受客户端数据,然后通过这个数据去数据库查找,如果查得到话,返回相应值给客户端。 在移动端中,当用户输入表单后点击登陆,如果登陆成功,则会把微信号通过Itent传给主界面activity,而在微信界面点击微信消息页时,会把微信号作为fragment的参数传给微信消息页,然后通过把微信号数据发送给服务器,服务器接受到这消息,便会在数据库中查找,查得到得话便会返回所以列给客户端,而客户端接受到数据后便把数据显示到相应得组件上(这个功能在
仿微信界面
11-22
这是一个仿照微信界面,可以左右滑动切换界面,利用Viewpager实现的。
AndroidStudio简单微信界面
01-20
AndroidStudio简易微信界面 界面如下 点击事件监听 底部点击,中间fragment可以进行轮转。 private void initLisener(){ View.OnClickListener listener=new View.OnClickListener() { @Override public void ...
html实现微信界面
02-06
个人模仿微信写的小项目,实现了基本的六个界面,代码详尽
使用ViewPage+Fragment仿微信界面
08-27
主要为大家详细介绍了使用ViewPage+Fragment仿微信界面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
微信vx撤回消息查看调取恢复已撤回消息数据查找,撤回消息找回
threadroc的专栏
06-17 636
微信撤回消息找回研究
工作实践:11种API性能优化方法
最新发布
BUG指挥课堂
06-21 785
上面这个例子中,发站内通知和用户操作日志功能,对实时性要求不高,即使晚点写库,用户无非是晚点收到站内通知,或者运营晚点看到用户操作日志,对业务影响不大,所以完全可以异步处理。但是,如果一次性查询的用户数量太多,例如一次查询2000个用户的数据,传入2000个用户的ID进行远程调用时,用户查询接口经常会出现超时的情况。这种情况下,接口的一次请求会涉及到非常长的调用链路。当系统发展到一定阶段,用户并发量增加,会有大量的数据库请求,这不仅需要占用大量的数据库连接,还会带来磁盘IO的性能瓶颈问题。
Android14 开发之Broadcast延迟及Service常驻等新特性说明
虎哥LoveDroid
06-20 871
通过以上步骤,您可以在 Android 13 中根据Intent的action启动服务,并确保服务在后台运行时不会被系统终止。使用前台服务可以确保服务的持久性,并且可以处理新的权限要求和行为变化。
android CancellationException 了解
阿饱同学
06-21 288
在Android开发中,通常是在协程或预期完成的任务被取消时遇到的异常。这种异常是Kotlin协程的一部分,也可以在各种异步任务管理库中找到。
我该如何设置Android SDK环境变量配置成功
读心悦
06-20 346
通过以上步骤,你应该能够成功设置Android SDK环境变量配置。如果在配置过程中遇到任何问题,请检查你的安装路径和输入是否正确。
编写微信界面
05-27
编写微信界面需要使用一个具有图形用户界面(GUI)功能的编程语言,例如Java、Python、C#等。在这里,我将以Python为例来演示如何实现微信界面。 首先,需要安装Python的GUI库Tkinter。在命令行中输入以下命令进行...

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Android Studio 第三次作业 953
  • 类微信界面 539
  • Android studio第二次作业 376

大家在看

  • Shell 编程之免交互 814
  • CSS中的display属性:布局控制的关键
  • 【K8s】专题六:Kubernetes 资源限制及服务质量等级 464
  • 图解布隆过滤器(Bloom Filter) 398
  • C语言文件 865

最新文章

  • Android Studio 第三次作业
  • Android studio第二次作业
2022年3篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

PHP网站源码大鹏网页制作松岗模板制作广州百度关键词包年推广同乐网站改版坪地网站搭建沙井网站搜索优化大鹏网站制作设计宝安网站推广方案大浪关键词排名包年推广吉祥网站开发坪地网站优化推广南澳推广网站石岩网站推广方案丹竹头网页制作盐田seo网站推广大鹏百度关键词包年推广西乡建站福田关键词排名石岩网站建设设计木棉湾如何制作网站民治营销网站同乐阿里店铺运营双龙营销网站西乡seo排名大芬网站优化推广福永关键词按天扣费布吉建站大芬至尊标王东莞百度关键词包年推广盐田网站优化推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化