iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android仿微信页面底部导航效果代码实现
  • 867
分享到

Android仿微信页面底部导航效果代码实现

微信页面Android 2022-06-06 07:06:49 867人浏览 安东尼
摘要

大家在参考本地代码的时候要根据需要适当的修改,里面有冗余代码小编没有删除。好了,废话不多说了,一切让代码说话吧! 关键代码如下所示: .java里面的主要代码 public

大家在参考本地代码的时候要根据需要适当的修改,里面有冗余代码小编没有删除。好了,废话不多说了,一切让代码说话吧!

关键代码如下所示:

.java里面的主要代码


public class MainActivity extends BaseActivity implements TabChangeListener {
private Fragment[] fragments;
private FragZaiXianYuYue fragZaiXianYuYue;
private FragDaoLuJiuYuan fragDaoLuJiuYuan;
private FragJiFenShanGCheng fragJiFenShangCheng;
private FragMe fragMe;
private ImageView img_right;
private ImageView[] imagebuttons;
private ImageView img_me_notity;
private TextView[] textviews;
private int index;
private int currentTabIndex;// 当前fragment的index
private int keyBackClickCount = 0;
private int indexChange;
private boolean isChangeTab = false;
@Override
protected void onCreate(Bundle arg0) {
// TODO Auto-generated method stub
super.onCreate(arg0);
setContentView(R.layout.mainactivity);
initView();
initTabView();
FragBYRecord.setTabChangeListener(this);
FragWXRecord.setTabChangeListener(this);
reGISterMessageReceiver();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
isForeground = true;
requestMaintenance();
if (isChangeTab) {
if (indexChange == 0) {
viewTitle.setZhongJianText(R.string.frag_zxyy);
tv_left.setVisibility(View.GoNE);
} else if (indexChange == 0) {
viewTitle.setZhongJianText(R.string.frag_dljy);
tv_left.setVisibility(View.GONE);
}
changeTab(indexChange);
isChangeTab = false;
}
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
isForeground = false;
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
if(null != mMessageReceiver)
unregisterReceiver(mMessageReceiver);
}
private void initView() {
viewTitle = (ViewTitle) findViewById(R.id.title_bar);
img_right = viewTitle.getYoubianView();
img_right.setVisibility(View.VISIBLE);
tv_left = viewTitle.getZuobianTextView();
viewTitle.getZuobianView().setVisibility(View.GONE);
tv_left.setText("XXXX");
img_right.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(MainActivity.this,
MineActivity.class);
MineActivity.mFragValue = MineActivity.FRAG_SYSTEMMESSAGE;
startActivity(intent);
}
});
tv_left.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
fragMe.addNewCar();
}
});
}
private void initTabView() {
fragZaiXianYuYue = new FragZaiXianYuYue();
fragDaoLuJiuYuan = new FragDaoLuJiuYuan();
fragJiFenShangCheng = new FragJiFenShangCheng();
fragMe = new FragMe();
fragments = new Fragment[] { fragZaiXianYuYue, fragDaoLuJiuYuan,
fragJiFenShangCheng, fragMe };
imagebuttons = new ImageView[4];
imagebuttons[0] = (ImageView) findViewById(R.id.ib_zzyy);
imagebuttons[1] = (ImageView) findViewById(R.id.ib_dljy);
imagebuttons[2] = (ImageView) findViewById(R.id.ib_jfsc);
imagebuttons[3] = (ImageView) findViewById(R.id.ib_me);
img_me_notity = (ImageView) findViewById(R.id.ib_me_notity);
imagebuttons[0].setSelected(true);
viewTitle.setZhongJianText(R.string.frag_zxyy);
textviews = new TextView[4];
textviews[0] = (TextView) findViewById(R.id.tv_ib_zzyy);
textviews[1] = (TextView) findViewById(R.id.tv_dljy);
textviews[2] = (TextView) findViewById(R.id.tv_jfsc);
textviews[3] = (TextView) findViewById(R.id.tv_me);
textviews[0]
.setTextColor(getResources().getColor(R.color.color_yellow));
// 添加显示第一个fragment
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, fragZaiXianYuYue)
.add(R.id.fragment_container, fragDaoLuJiuYuan)
.add(R.id.fragment_container, fragJiFenShangCheng)
.add(R.id.fragment_container, fragMe).hide(fragDaoLuJiuYuan)
.hide(fragJiFenShangCheng).hide(fragMe).show(fragZaiXianYuYue)
.commit();
}
public void onTabClicked(View view) {
switch (view.getId()) {
case R.id.re_zzyy:
index = 0;
if (fragZaiXianYuYue != null) {
}
viewTitle.setZhongJianText(R.string.frag_zxyy);
tv_left.setVisibility(View.GONE);
changeTab(index);
break;
case R.id.re_dljy:
index = 1;
viewTitle.setZhongJianText(R.string.frag_dljy);
tv_left.setVisibility(View.GONE);
changeTab(index);
break;
case R.id.re_jfsc:
if(SharePreferUtil.getBoolean(CommonString.HAVESERVICE, false)){
index = 2;
viewTitle.setZhongJianText(R.string.frag_jfsc);
tv_left.setVisibility(View.GONE);
fragJiFenShangCheng.requestJudgeCar();
changeTab(2);
if(SharePreferUtil.getBoolean("isFristGoShop", true)){
SharePreferUtil.putBoolean("isFristGoShop", false);
fragJiFenShangCheng.mengcengDialog();
}
}else{
showAddServiceDialog();
}
break;
case R.id.re_me:
index = 3;
viewTitle.setZhongJianText(R.string.frag_me);
tv_left.setVisibility(View.VISIBLE);
changeTab(index);
break;
}
}
public void changeTab(int index) {
if (currentTabIndex != index) {
FragmentTransaction trx = getSupportFragmentManager()
.beginTransaction();
trx.hide(fragments[currentTabIndex]);
if (!fragments[index].isAdded()) {
trx.add(R.id.fragment_container, fragments[index]);
}
trx.show(fragments[index]).commit();
}
imagebuttons[currentTabIndex].setSelected(false);
// 把当前tab设为选中状态
imagebuttons[index].setSelected(true);
textviews[currentTabIndex].setTextColor(getResources().getColor(
R.color.white));
textviews[index].setTextColor(getResources().getColor(
R.color.color_yellow));
currentTabIndex = index;
}
mainactivity.xml:
<include layout="@layout/layout_bottom"/>
layout_bottom.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="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/black"
android:orientation="vertical" >
<!-- 普通底部导航 -->
<LinearLayout
android:id="@+id/main_bottom"
android:layout_width="match_parent"
android:layout_height="54dp"
android:gravity="center_vertical"
android:orientation="horizontal" >
<RelativeLayout
android:id="@+id/re_zzyy"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="onTabClicked"
android:padding="3Dp" >
<RelativeLayout
android:layout_width="60dp"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:gravity="center" >
<ImageView
android:id="@+id/ib_zzyy"
android:layout_width="30dp"
android:layout_height="28dp"
android:layout_centerHorizontal="true"
android:focusable="false"
android:scaleType="centerInside"
android:src="@drawable/tab_zaixianyuyue" />
<TextView
android:id="@+id/tv_ib_zzyy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ib_zzyy"
android:layout_centerHorizontal="true"
android:layout_marginTop="3dp"
android:textColor="@color/white"
android:text="@string/frag_zxyy"
android:textSize="12sp" />
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/re_dljy"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="onTabClicked"
android:padding="3dp" >
<RelativeLayout
android:layout_width="60dp"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:gravity="center" >
<ImageView
android:id="@+id/ib_dljy"
android:layout_width="30dp"
android:layout_height="28dp"
android:layout_centerHorizontal="true"
android:focusable="false"
android:scaleType="centerInside"
android:src="@drawable/tab_daolujiuyuan" />
<TextView
android:id="@+id/tv_dljy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ib_dljy"
android:layout_centerHorizontal="true"
android:layout_marginTop="3dp"
android:textColor="@color/white"
android:text="@string/frag_dljy"
android:textSize="12sp" />
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/re_jfsc"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="onTabClicked"
android:padding="3dp" >
<RelativeLayout
android:layout_width="60dp"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:gravity="center" >
<ImageView
android:id="@+id/ib_jfsc"
android:layout_width="30dp"
android:layout_height="28dp"
android:layout_centerHorizontal="true"
android:focusable="false"
android:scaleType="centerInside"
android:src="@drawable/tab_jifenshangcheng" />
<TextView
android:id="@+id/tv_jfsc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ib_jfsc"
android:layout_centerHorizontal="true"
android:layout_marginTop="3dp"
android:textColor="@color/white"
android:text="@string/frag_jfsc"
android:textSize="12sp" />
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/re_me"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="onTabClicked"
android:padding="3dp" >
<RelativeLayout
android:layout_width="60dp"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:gravity="center" >
<ImageView
android:id="@+id/ib_me"
android:layout_width="30dp"
android:layout_height="28dp"
android:layout_centerHorizontal="true"
android:focusable="false"
android:scaleType="centerInside"
android:src="@drawable/tab_me" />
<ImageView
android:id="@+id/ib_me_notity"
android:layout_width="5dp"
android:layout_height="5dp"
android:layout_alignTop="@+id/ib_me"
android:layout_alignRight="@+id/ib_me"
android:scaleType="centerInside"
android:src="@drawable/app_34_icon_point_nORMal"
android:visibility="gone" />
<TextView
android:id="@+id/tv_me"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ib_me"
android:layout_centerHorizontal="true"
android:layout_marginTop="3dp"
android:textColor="@color/white"
android:text="@string/frag_me"
android:textSize="12sp" />
</RelativeLayout>
</RelativeLayout>
</LinearLayout>
</LinearLayout>

以上所述是小编给大家介绍的Android仿微信页面底部导航效果代码实现,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程网网站的支持!

您可能感兴趣的文章:Android仿微信调用第三方地图应用导航(高德、百度、腾讯)Android实现简单底部导航栏 Android仿微信滑动切换效果微信小程序实战之仿android fragment可滑动底部导航栏(4)Android实现顶部导航栏可点击可滑动效果(仿微信仿豆瓣网)Android仿微信5实现滑动导航条Android仿微信实现首字母导航条Android仿微信之界面导航篇(1)


--结束END--

本文标题: Android仿微信页面底部导航效果代码实现

本文链接: https://www.lsjlt.com/news/23940.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Android实现简单底部导航栏 Android仿微信滑动切换效果
    Android仿微信滑动切换最终实现效果:大体思路: 主要使用两个自定义View配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标;2. 底部导航栏的设置方法类似于TabLayout的关联,View...
    99+
    2023-05-30
    android 导航栏
  • Android实现底部导航栏效果
    目前网上主流的文章都是用底部的 RadioGroup + 页面部分的 Fragment 实现导航栏切换页面效果的。 然而底部的 RadioGroup 是如此麻烦,每个按钮的图片和文字...
    99+
    2024-04-02
  • Android仿微信底部菜单栏效果
    前言在市面上,大多数的APP都需要通过底部菜单栏来将程序的功能进行分类整理,通常都是分为3-5个大模块,从而正确有效地引导用户去使用我们的APP。实现底部菜单栏的方法也有很多种。1.仿微信底部菜单栏(ViewPager+ImagerView...
    99+
    2023-05-30
    android 菜单
  • Android仿微信输入框效果的实现代码
    仿微信输入框效果图:输入框:<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:layout...
    99+
    2023-05-31
    android 输入框
  • 微信小程序如何实现tabBar底部导航
    这篇文章主要介绍微信小程序如何实现tabBar底部导航,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!微信小程序tabBar底部导航中文注解api,信小程序tabBar就是app底部的...
    99+
    2024-04-02
  • react+zarm实现底部导航栏的示例代码
    目录需要实现的效果实现过程1.使用 prop-types 库进行类型检查2.使用 useNavigate3.编写标签栏组件4.使用标签栏组件5.添加对应的页面路由6.效果参考资料需要...
    99+
    2024-04-02
  • 微信小程序如何实现顶部可滚动导航效果
    这篇文章给大家分享的是有关微信小程序如何实现顶部可滚动导航效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。需求是小程序做头部做导航分类的效果顶部用 scroll-view 组件...
    99+
    2024-04-02
  • Flutter仿微信通讯录实现自定义导航条的示例代码
    某些页面比如我们在选择联系人或者某个城市的时候需要快速定位到我们需要的选项,一般都会需要像微信通讯录右边有一个导航条一样的功能,由A到Z进行快速定位,本篇文章我们将自己来实现一个跟微...
    99+
    2024-04-02
  • Android怎么实现微信侧滑关闭页面效果
    这篇文章主要介绍了Android怎么实现微信侧滑关闭页面效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。原理在每个Activity里面都有一个底层的View,也就是所谓的r...
    99+
    2023-05-30
  • 微信小程序如何实现仿电影网站页面效果
    这篇文章主要介绍了微信小程序如何实现仿电影网站页面效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序仿猫眼实现效果图:movie....
    99+
    2024-04-02
  • Android仿苹果关机界面实现代码
    本文实例为大家分享了Android仿苹果关机界面的具体代码,供大家参考,具体内容如下主class 用来控制viewdialog的显示package com.android.server.policy; import android.ap...
    99+
    2023-05-30
    android 关机界面 roi
  • 微信小程序如何实现顶部导航栏滑动tab效果
    这篇文章将为大家详细讲解有关微信小程序如何实现顶部导航栏滑动tab效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下效果图:首先是滑动的效果:<scro...
    99+
    2024-04-02
  • Android仿微信雷达扫描效果的实现方法
    本文主要给大家介绍的是关于Android实现微信雷达扫描效果的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:废话不多说 先上图(用AS录制的 转换工具不是很好 所以看得效果不是很好)效果图示例代码Activity 代码public...
    99+
    2023-05-31
    android 雷达扫描
  • 如何实现微信小程序页面返回顶部效果
    这篇文章主要为大家展示了“如何实现微信小程序页面返回顶部效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现微信小程序页面返回顶部效果”这篇文章吧。效果预...
    99+
    2024-04-02
  • iOS仿微信图片分享界面实现代码
    以下是一个iOS仿微信图片分享界面的实现代码的示例:```swiftimport UIKitclass ViewController: UIViewController, UICollectionViewDelegate, UIColl...
    99+
    2023-08-11
    iOS
  • 微信小程序实现页面导航的方法详解
    目录一.页面导航二.声明式导航1.导航到tabBar页面2.导航到非tabBar页面3.后退导航三.编程式导航1.导航到tabBar页面2.导航到非tabBar页面3.后退导航四.导...
    99+
    2024-04-02
  • 使用微信小程序实现导航栏固定效果
    微信小程序是一种快速开发应用程序的平台,它在移动端提供了丰富的开发能力。其中,实现导航栏固定效果是一个常见的需求,本文将介绍如何使用微信小程序实现导航栏固定效果,并提供具体的代码示例。一、需求分析导航栏固定效果即在页面滚动时,导航栏始终保持...
    99+
    2023-11-21
  • Android如何实现仿网易严选底部弹出菜单效果
    这篇文章将为大家详细讲解有关Android如何实现仿网易严选底部弹出菜单效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先展示效果图如下:是不是还可以呢,由于代码量不多却注释详细,所以先贴出代码再一一...
    99+
    2023-05-30
    android
  • 微信小程序使用onreachBottom实现页面触底加载及分页效果
    目录一 简要介绍一下onreachBottom事件二  实例展示三 遇到的一些问题总结一 简要介绍一下onreachBottom事件 onreachBottom和onLoa...
    99+
    2022-11-13
    小程序页面触底加载及分页显示 小程序分页加载 微信小程序触底加载
  • 微信小程序实现页面缩放效果
    微信小程序实现页面缩放效果随着微信小程序的快速发展,越来越多的开发者开始关注小程序的交互效果和用户体验。其中,页面缩放效果是一个常见的需求。本文将介绍如何使用微信小程序实现页面缩放效果,并提供具体的代码示例。首先,我们需要在小程序的页面配置...
    99+
    2023-11-21
    微信小程序 效果实现 页面缩放
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作