资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

android滑动切换,android实现界面滑动

android中如何实现滑动activity?如何左右滑动实现activity的切换?

你是要滑动切换activity还是页面?如果是activity的话你可以给当前页面添加手势,滑动的时候实现activity的切换然后给activity添加切换动画,如果是像qq那种效果可以用tab来做,实现效果很不错,或者activitygroup,还可以用fragment来做,这些实现效果都不错。如果是页面滑动切换,可以用viewpager,这个效果很好,代码能力强就用viewgroup的滚动来实现,效果也还可以。

公司主营业务:成都网站制作、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出托里免费做网站回馈大家。

Andriod开发中怎样实现左右滑动切换标签

andriod开发中实现左右滑动切换标签的代码如下:

代码

package com.marsor.desk;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.content.BroadcastReceiver;

import android.content.ComponentName;

import android.content.Context;

import android.content.DialogInterface;

import android.content.Intent;

import android.content.IntentFilter;

import android.content.pm.PackageInfo;

import android.content.pm.PackageManager;

import android.content.res.AssetManager;

import android.content.res.Configuration;

import android.graphics.Color;

import android.net.Uri;

import android.os.Bundle;

import android.util.Log;

import android.view.GestureDetector;

import android.view.GestureDetector.OnGestureListener;

import android.view.KeyEvent;

import android.view.Menu;

import android.view.MenuItem;

import android.view.MotionEvent;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.View.OnTouchListener;

import android.view.animation.TranslateAnimation;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.LinearLayout.LayoutParams;

import android.widget.TextView;

import android.widget.Toast;

public class MarsorDeskActivity extends Activity {

GestureDetector mGestureDetector;

LinearLayout layFirst;

LinearLayout laySec;

LinearLayout layThird;

LinearLayout layFourth;

LinearLayout layContain;

//当前显示的layout

LinearLayout layCur;

//左边的layout

LinearLayout layLeft;

//右边的layout

LinearLayout layRight;

int screenWidth;

ArrayListMyAppInfo mApplications = new ArrayListMyAppInfo();

TextView roll_dot1,roll_dot2,roll_dot3,roll_dot4;

ArrayListString packagNameList ;

private final int MENU_EXIT = 01;

private MyReceiver receiver;

private OnTouchListener myTouch = new OnTouchListener(){

@Override

public boolean onTouch(View v, MotionEvent event) {

return mGestureDetector.onTouchEvent(event);

}

};

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

initpackagNameList();

//监听系统新安装程序的广播

receiver = new MyReceiver();

IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);

filter.addDataScheme("package"); //必须添加这项,否则拦截不到广播

registerReceiver(receiver, filter);

layContain = (LinearLayout) this.findViewById(R.id.layContain);

layFirst = (LinearLayout) this.findViewById(R.id.layFirst);

laySec = (LinearLayout) this.findViewById(R.id.laySec);

layThird = (LinearLayout) this.findViewById(R.id.layThird);

layFourth = (LinearLayout) this.findViewById(R.id.layFourth);

roll_dot1 = (TextView) findViewById(R.id.roll_dot1);

roll_dot2 = (TextView) findViewById(R.id.roll_dot2);

roll_dot3 = (TextView) findViewById(R.id.roll_dot3);

roll_dot4 = (TextView) findViewById(R.id.roll_dot4);

layCur = layFirst;

layLeft = null;

layRight = laySec;

layFirst.setOnTouchListener(myTouch);

laySec.setOnTouchListener(myTouch);

layThird.setOnTouchListener(myTouch);

layFourth.setOnTouchListener(myTouch);

//设置宽度

screenWidth = getWindowManager().getDefaultDisplay().getWidth();

layFirst.getLayoutParams().width = screenWidth;

laySec.getLayoutParams().width = screenWidth;

layThird.getLayoutParams().width = screenWidth;

layFourth.getLayoutParams().width = screenWidth;

mGestureDetector = new GestureDetector(this, new OnGestureListener(){

@Override

public boolean onDown(MotionEvent e) {

return true;

}

@Override

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {

int x = (int) (e2.getX() - e1.getX());

//判断方向

boolean dir = x0;//如果大于0,为true,说明向右移动,直接将其前一个视图的marginleft设置成0,如果是向左移动,则直接将maringleft试着称宽度的负数

if(dir){

if(layLeft == null)return false;

LinearLayout.LayoutParams llp = (LayoutParams) layLeft.getLayoutParams();

TranslateAnimation anim1 = new TranslateAnimation(llp.leftMargin,0,0,0);

anim1.setDuration(500l);

layLeft.startAnimation(anim1);

//layLeft.setAnimation(anim);

llp.setMargins(0, 0, 0, 0);

layLeft.setLayoutParams(llp);

if(layLeft == layFirst){

layLeft = null;

layCur = layFirst;

layRight =laySec ;

//设置屏幕下方的小点随着页面的切换而改变

roll_dot2.setTextColor(Color.BLACK);

roll_dot1.setTextColor(Color.WHITE);

}else if(layLeft == laySec){

layLeft = layFirst;

layCur = laySec;

layRight =layThird ;

roll_dot3.setTextColor(Color.BLACK);

roll_dot2.setTextColor(Color.WHITE);

}else if(layLeft == layThird){

layLeft = laySec;

layCur = layThird;

layRight =layFourth ;

roll_dot4.setTextColor(Color.BLACK);

roll_dot3.setTextColor(Color.WHITE);

}

}else{

if(layRight == null)return false;

LinearLayout.LayoutParams llp = (LayoutParams) layCur.getLayoutParams();

int width = layCur.getWidth();

TranslateAnimation anim = new TranslateAnimation(width,0,0,0);

anim.setDuration(500l);

layRight.startAnimation(anim);

llp.setMargins(-width, 0, 0, 0);

layCur.setLayoutParams(llp);

if(layCur == layFirst){

layLeft = layFirst;

layCur = laySec;

layRight =layThird ;

roll_dot1.setTextColor(Color.BLACK);

roll_dot2.setTextColor(Color.WHITE);

}else if(layCur == laySec){

layLeft = laySec;

layCur = layThird;

layRight = layFourth ;

roll_dot2.setTextColor(Color.BLACK);

roll_dot3.setTextColor(Color.WHITE);

}else if(layCur == layThird){

layLeft = layThird;

layCur = layFourth;

layRight = null ;

roll_dot3.setTextColor(Color.BLACK);

roll_dot4.setTextColor(Color.WHITE);

}

}

return true;

}

@Override

public void onLongPress(MotionEvent e) {

// TODO Auto-generated method stub

}

@Override

public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {

// TODO Auto-generated method stub

return false;

}

@Override

public void onShowPress(MotionEvent e) {

// TODO Auto-generated method stub

}

@Override

public boolean onSingleTapUp(MotionEvent e) {

// TODO Auto-generated method stub

return false;

}

});

}

Android左右滑屏切换怎么做?像uc浏览器首页那样的,左右滑动时按钮上的蓝色条也跟着动,该怎么做

滑屏 部分可以用Viewpager来实现,至于上面按钮的蓝色条,是可以通过ViewPager的pageChangeListener,监听滑动的换页进行改变

android中怎么实现类似驾校一点通的滑动切换到下一题的效果

可以使用android 提供的viewpager控件,就可以实现滑动切换下一个界面,也可以监听手势的滑动动作


分享标题:android滑动切换,android实现界面滑动
分享URL:http://cdkjz.cn/article/dsdssie.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220