package com.fcy.start1;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager;
import android.view.animation.TranslateAnimation;
import android.widget.Button;
import android.widget.LinearLayout.LayoutParams;
import com.ys.start1.R;
public class MainActivity extends Activity implements OnClickListener{
//View集合
private ArrayList<View> viewPagerViews = new ArrayList<View>();
//滑动View控件
private ViewPager viewPager;
//四个界面
private View black;
private View blue;
private View green;
private View red;
//对应四个界面
private final int BLACK = 0;
private final int BLUE = 1;
private final int GREEN = 2;
private final int RED = 3;
//当前停留的位置
private int currentId = BLACK;
//底部滑动线条
private View buttomView;
//当前屏幕宽度
private int ActivityWidth;
@Override
public void onCreate(Bundle savedInstanceState) {
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
ActivityWidth = wm.getDefaultDisplay().getWidth();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager)findViewById(R.id.vPager);
black = new View(this);
black.setBackgroundColor(Color.BLACK);
viewPagerViews.add(black);
blue= new View(this);
blue.setBackgroundColor(Color.BLUE);
viewPagerViews.add(blue);
green= new View(this);
green.setBackgroundColor(Color.GREEN);
viewPagerViews.add(green);
red= new View(this);
red.setBackgroundColor(Color.RED);
viewPagerViews.add(red);
MyPagerAdapter adapter = new MyPagerAdapter(viewPagerViews);
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(BLACK);
initButtomView();
initTopBtn();
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
public void onPageSelected(int position) {
slideView(position);
currentId = position;
}
public void onPageScrolled(int arg0, float arg1, int arg2) {}
public void onPageScrollStateChanged(int arg0) {}
});
}
//底部滑动, positionId, 你要滑动到的位置
private void slideView(int positionId){
TranslateAnimation tran = null;
tran = new TranslateAnimation(calcPosition(currentId),calcPosition(positionId),0,0);
tran.setDuration(300);
tran.setFillAfter(true);
buttomView.startAnimation(tran);
}
//初始化底部滑动线条
private void initButtomView() {
//初始化宽高
buttomView = (View)findViewById(R.id.v_buttom);
LayoutParams params = new LayoutParams(ActivityWidth / 4,5);
buttomView.setLayoutParams(params);
//初始化颜色
buttomView.setBackgroundColor(Color.WHITE);
}
private void initTopBtn(){
Button black = (Button)findViewById(R.id.btn_1);
Button blue = (Button)findViewById(R.id.btn_2);
Button green = (Button)findViewById(R.id.btn_3);
Button red = (Button)findViewById(R.id.btn_4);
LayoutParams params2 = new LayoutParams(ActivityWidth / 4,LayoutParams.WRAP_CONTENT);
black.setLayoutParams(params2);
black.setTag(BLACK);
black.setOnClickListener(this);
blue.setLayoutParams(params2);
blue.setTag(BLUE);
blue.setOnClickListener(this);
green.setLayoutParams(params2);
green.setTag(GREEN);
green.setOnClickListener(this);
red.setLayoutParams(params2);
red.setTag(RED);
red.setOnClickListener(this);
}
//计算位置 position 需要移动到的位置
private int calcPosition(int positionId){
int position = ActivityWidth/4;
int currentPosition = 0;
for (int i = 0; i < positionId; i++) {
currentPosition += position;
}
return currentPosition;
}
@Override
public void onClick(View v) {
int position = Integer.parseInt(v.getTag().toString());
slideView(position);
viewPager.setCurrentItem(position);
currentId = position;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Android界面滑动,导航栏同步滑动
共100个文件
png:59个
class:19个
xml:4个
4星 · 超过85%的资源 需积分: 9 57 下载量 68 浏览量
2014-02-13
13:12:13
上传
评论 3
收藏 1.47MB ZIP 举报
温馨提示
高质量代码界面相互切换的demo,易懂,适合新手学习,底部导航栏同步界面滑动,2.2Android开发包,大部分应用都需要用。
资源推荐
资源详情
资源评论
收起资源包目录
Android界面滑动,导航栏同步滑动 (100个子文件)
resources.ap_ 11KB
Start1Activity.apk 330KB
slide.apk 148KB
start1.apk 147KB
jarlist.cache 120B
proguard.cfg 1KB
MainActivity.class 5KB
Start1Activity.class 2KB
R$drawable.class 2KB
MyPagerAdapter.class 1KB
Start1Activity$1.class 1KB
MainActivity$1.class 1KB
R$id.class 517B
AnotherActivity.class 516B
R.class 496B
R.class 496B
R$layout.class 414B
R$string.class 412B
R$string.class 412B
R$layout.class 388B
R$drawable.class 385B
R$id.class 374B
BuildConfig.class 335B
R$attr.class 325B
R$attr.class 325B
.classpath 475B
classes.dex 513KB
android-support-v4.jar 341KB
android-support-v4-6fa25b742b501ab91797796b9e16a97f.jar 132KB
annotations-287bfc3da1dc58e55d28b0b996c660e4.jar 943B
MainActivity.java 4KB
R.java 997B
MyPagerAdapter.java 791B
BuildConfig.java 155B
s27.png 9KB
s26.png 8KB
s28.png 8KB
s29.png 8KB
s25.png 8KB
s24.png 8KB
s31.png 8KB
s30.png 8KB
s22.png 8KB
s23.png 8KB
s32.png 8KB
s21.png 8KB
s20.png 8KB
s34.png 7KB
s19.png 7KB
s36.png 7KB
s35.png 7KB
s18.png 7KB
s38.png 7KB
s37.png 7KB
s39.png 7KB
s17.png 7KB
s40.png 7KB
s41.png 6KB
s42.png 6KB
s4.png 6KB
s16.png 6KB
s3.png 6KB
s43.png 6KB
s44.png 6KB
s45.png 6KB
s46.png 6KB
s47.png 6KB
s49.png 6KB
s48.png 6KB
s15.png 6KB
s50.png 5KB
s2.png 5KB
s51.png 5KB
s14.png 5KB
s13.png 5KB
s12.png 4KB
icon.png 4KB
s11.png 4KB
icon.png 4KB
icon.png 4KB
s10.png 4KB
s9.png 3KB
s8.png 3KB
s7.png 3KB
s6.png 3KB
icon.png 3KB
s5.png 2KB
icon.png 2KB
icon.png 2KB
icon.png 2KB
icon.png 2KB
icon.png 2KB
s1.png 179B
.project 841B
project.properties 360B
default.properties 36B
activity_main.xml 1KB
AndroidManifest.xml 692B
AndroidManifest.xml 692B
strings.xml 171B
共 100 条
- 1
花椒树~~
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页