iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android仿微信5实现滑动导航条
  • 310
分享到

Android仿微信5实现滑动导航条

导航条Android 2022-06-06 07:06:33 310人浏览 安东尼
摘要

本文实例为大家分享了Android 仿微信5滑动导航效果,供大家参考,具体内容如下 ViewPageAdapter.java package com.rong; import

本文实例为大家分享了Android 仿微信5滑动导航效果,供大家参考,具体内容如下

ViewPageAdapter.java


package com.rong;
import java.util.ArrayList;
import java.util.List;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
public class ViewPagerAdapter extends PagerAdapter {
 private List<View> views;
 public ViewPagerAdapter(List<View> views) {
 this.views = views;
 }
 @Override
 public int getCount() {
 return views.size();
 }
 @Override
 public boolean isViewFromObject(View arg0, Object arg1) {
 return arg0 == arg1;
 }
 @Override
 public void destroyItem(View container, int position, Object object) {
 ((ViewPager) container).removeView(views.get(position));
 }
 @Override
 public Object instantiateItem(View container, int position) {
 ((ViewPager) container).addView(views.get(position));
 return views.get(position);
 }
 
 public boolean insert(View view) {
 if (this.views == null) {
  this.views = new ArrayList<View>();
 }
 return this.views.add(view);
 }
}

HomeAcitivity.java


package com.rong;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
import com.rong.wechat5.R;
public class HomeActivity extends Activity {
 private View home_line;
 private int screenWidth1_3;
 private ViewPager home_vp;
 private ViewPagerAdapter viewPagerAdapter;
 private List<View> views = new ArrayList<View>();
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.layout_home);
 initView();
 }
 private void initView() {
 Display display = getWindow().getWindowManager().getDefaultDisplay();
 DisplayMetrics dm = new DisplayMetrics();
 display.getMetrics(dm);
 home_line = (View) findViewById(R.id.home_line);
 home_vp = (ViewPager) findViewById(R.id.home_vp);
 LayoutParams lp = home_line.getLayoutParams();
 screenWidth1_3 = dm.widthPixels / 3;
 lp.width = screenWidth1_3;
 lp.height = 5;
 home_line.setLayoutParams(lp);
 View layout1 = View.inflate(this, R.layout.layout_view1, null);
 View layout2 = View.inflate(this, R.layout.layout_view2, null);
 View layout3 = View.inflate(this, R.layout.layout_view3, null);
 views.add(layout1);
 views.add(layout2);
 views.add(layout3);
 viewPagerAdapter = new ViewPagerAdapter(views);
 home_vp.setAdapter(viewPagerAdapter);
 home_vp.setOnPageChangeListener(new OnPageChangeListener() {
  @Override
  public void onPageSelected(int arg0) {
  }
  @Override
  public void onPageScrolled(int position, float positionOffset,int positionOffsetPixels) {
  Log.i("TAG", position+"=="+positionOffset+"=="+positionOffsetPixels);
  LinearLayout.LayoutParams lp = (android.widget.LinearLayout.LayoutParams) home_line.getLayoutParams();
  lp.leftMargin = (int) (screenWidth1_3 * position + screenWidth1_3* positionOffset);
  home_line.setLayoutParams(lp);
  }
  @Override
  public void onPageScrollStateChanged(int arg0) {
  }
 });
 }
}

layout_home.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="#ffffff"
  android:orientation="vertical" >
  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:orientation="horizontal" >
    <RelativeLayout
      android:layout_width="0dp"
      android:layout_height="match_parent"
      android:layout_weight="1" >
      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="消息"
        android:textColor="#000000"
        android:textSize="24sp" />
    </RelativeLayout>
    <RelativeLayout
      android:layout_width="0dp"
      android:layout_height="match_parent"
      android:layout_weight="1" >
      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="朋友圈"
        android:textColor="#000000"
        android:textSize="24sp" />
    </RelativeLayout>
    <RelativeLayout
      android:layout_width="0dp"
      android:layout_height="match_parent"
      android:layout_weight="1" >
      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="我"
        android:textColor="#000000"
        android:textSize="24sp" />
    </RelativeLayout>
  </LinearLayout>
  <View
    android:id="@+id/home_line"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:background="#ff0000" />
  <android.support.v4.view.ViewPager
    android:id="@+id/home_vp"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1" />
</LinearLayout>
您可能感兴趣的文章:Android仿微信调用第三方地图应用导航(高德、百度、腾讯)Android实现简单底部导航栏 Android仿微信滑动切换效果微信小程序实战之仿android fragment可滑动底部导航栏(4)Android实现顶部导航栏可点击可滑动效果(仿微信仿豆瓣网)Android仿微信页面底部导航效果代码实现Android仿微信实现首字母导航条Android仿微信之界面导航篇(1)


--结束END--

本文标题: Android仿微信5实现滑动导航条

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

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

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

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

下载Word文档
猜你喜欢
  • Android实现简单底部导航栏 Android仿微信滑动切换效果
    Android仿微信滑动切换最终实现效果:大体思路: 主要使用两个自定义View配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标;2. 底部导航栏的设置方法类似于TabLayout的关联,View...
    99+
    2023-05-30
    android 导航栏
  • Flutter仿微信通讯录怎么实现自定义导航条
    这篇文章主要介绍了Flutter仿微信通讯录怎么实现自定义导航条的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Flutter仿微信通讯录怎么实现自定义导航条文章都会有所收获,下面我们一起来看看吧。关键点:手势定...
    99+
    2023-06-30
  • android 仿微信demo——微信启动界面实现
    目录微信启动界面创建项目微信启动界面实现测试总结微信启动界面 创建项目 android studio创建移动端项目 微信启动界面实现 当第一次点击微信时会看到微信出现启动界...
    99+
    2024-04-02
  • Flutter仿微信通讯录实现自定义导航条的示例代码
    某些页面比如我们在选择联系人或者某个城市的时候需要快速定位到我们需要的选项,一般都会需要像微信通讯录右边有一个导航条一样的功能,由A到Z进行快速定位,本篇文章我们将自己来实现一个跟微...
    99+
    2024-04-02
  • Android如何实现仿微信右滑返回功能
    这篇文章将为大家详细讲解有关Android如何实现仿微信右滑返回功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先上效果图,如下:先分析一下功能的主要技术点,右滑即手势判断,当滑到一直距离时才执行返回,...
    99+
    2023-05-30
    android
  • jQuery如何实现滑动导航
    这篇文章主要介绍jQuery如何实现滑动导航,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.1 App滑动导航说明:这个例子主要是实现一条导航山只有两个选项的。1.适合用于移动端。...
    99+
    2024-04-02
  • 微信小程序中如何实现导航栏滑动定位功能
    这篇文章给大家分享的是有关微信小程序中如何实现导航栏滑动定位功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现的效果实现的原理1. 通过对scroll的监听获取滚动条的scr...
    99+
    2024-04-02
  • android 仿微信demo——微信消息界面实现(移动端)
    目录移动端微信消息页实现总结移动端微信消息页实现 在上一篇中主界面实现说过微信四个页面中间都是是fragment的,并且四个fragment的布局都还没实现,所以这一篇主要实现微信...
    99+
    2024-04-02
  • 微信小程序如何实现顶部导航栏滑动tab效果
    这篇文章将为大家详细讲解有关微信小程序如何实现顶部导航栏滑动tab效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下效果图:首先是滑动的效果:<scro...
    99+
    2024-04-02
  • android 仿微信demo——微信主界面实现
    目录主界面实现测试总结 以往文章中实现微信启动页,登录注册功能,此基础上继续完善仿微信功能。 主界面实现 (1)整体采用RelativeLayout相对布局 (2)最上面是too...
    99+
    2024-04-02
  • jQuery实现侧边导航栏及滑动电梯效果(仿淘宝)
    效果图 实现代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=...
    99+
    2024-04-02
  • CSS怎么实现导航固定的、左右滑动的滚动条
    这篇文章主要介绍了CSS怎么实现导航固定的、左右滑动的滚动条,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如上效果的导航,导航是固定在顶部的,可以左右滑动点击更多选项的。这种...
    99+
    2023-06-08
  • 如何通过CSS实现网页的平滑滚动导航条
    导航条是网页中非常重要的组成部分之一,它不仅提供了页面导航的功能,还能使网页更加美观。而在网页中实现平滑滚动导航条,可以为用户提供更好的体验。本文将介绍如何通过CSS实现网页的平滑滚动导航条,并提供具体的代码示例。一、HTML结构首先,在H...
    99+
    2023-10-21
    CSS 平滑滚动 导航条
  • vue实现顶部左右滑动导航
    日常开发中经常用到导航这些东西,写篇文章记录下。该导航实现为点击末尾/起首位置,导航自动滑动出下一项的效果。 思路:判断当前点击项,相对与屏幕的位置,若点击的位置,满足可移动的限制,...
    99+
    2024-04-02
  • android 仿微信demo——注册功能实现(移动端)
    目录移动端注册功能实现测试总结移动端注册功能实现 微信的注册界面每一个文本段都有下划线且默认颜色都是灰色,当其中一个文本段获取焦点会将下划线的颜色变为绿色,而且文本输入框的光标也是绿...
    99+
    2024-04-02
  • android 仿微信demo——登录功能实现(移动端)
    目录移动端登录功能实现测试移动端登录功能实现 登录功能基本和注册一样,唯一不同的是登录可以实现两种登录方式(微信号和手机号),也就是布局不一样。所以需要两个布局,两个activity...
    99+
    2024-04-02
  • 微信小程序如何实现今日头条导航栏滚动效果
    这篇文章给大家分享的是有关微信小程序如何实现今日头条导航栏滚动效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。项目需要,做一个和今日头条一样的导航栏,可以横行滚动,幸好再weu...
    99+
    2024-04-02
  • 微信小程序如何实现tab切换可滑动切换导航栏跟随滚动
    这篇文章给大家分享的是有关微信小程序如何实现tab切换可滑动切换导航栏跟随滚动的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。解决过程1.在想要实现这个问题的时候找了不少别人的博客...
    99+
    2024-04-02
  • Android ListView实现仿微信聊天界面
    本篇内容主要讲解“Android ListView实现仿微信聊天界面”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android ListView实现仿微信聊天界面”吧!Android List...
    99+
    2023-06-20
  • Android仿微信布局的实现示例
    目前没有实现微信的功能,只是对微信的各个界面的调动以及对通讯录,发现和我中各个按钮的设置,同时如果你想尝试给微信中各个按钮背后添加功能时间可以用此作为模板哦,如拍照,朋友圈的添加都可...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作