你的位置:首页 > 软件开发 > 操作系统 > 手势滑动和自定意控件

手势滑动和自定意控件

发布时间:2015-12-16 17:00:26
如图当我点击下一个时会跳转到别个界面,当我用手势向右滑动的时候也调转到下一页其中点击最上面的RelativeLayout则CheckBox会被点击,并用SharedPreferences来记录是否被点击了 package com.org.demo.wangfeng.demo; ...

手势滑动和自定意控件

如图当我点击下一个时会跳转到别个界面,当我用手势向右滑动的时候也调转到下一页

其中点击最上面的RelativeLayout则CheckBox会被点击,并用SharedPreferences来记录是否被点击了

 

手势滑动和自定意控件

package com.org.demo.wangfeng.demo;import com.org.wangfeng.R;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.content.Intent;import android.content.SharedPreferences;import android.os.Bundle;import android.util.Log;import android.view.GestureDetector;import android.view.MotionEvent;import android.view.View;import android.view.GestureDetector.SimpleOnGestureListener;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.CheckBox;import android.widget.LinearLayout;import android.widget.RelativeLayout;import android.widget.TextView;import android.widget.Toast;public class FirstDemo extends Activity {  // 跳转到下个界面的按钮 在跳转到其他界面时设置了动画  private Button bb_frist;  private GestureDetector mDectector;  // 第一个模块是否设置自动更新的设置  private RelativeLayout rl_settring;  private TextView tv_desc;  private CheckBox cb_status;  // 设置一个SharedPreferences来判断是否设置了自动更新设置  private SharedPreferences mPreferences;  // 第二个模块设置编辑还是完成的界面  private TextView bb_select;  private TextView tv_accout, tv_delete;  private LinearLayout ll_selectone, ll_selecttwo;  @Override  protected void onCreate(Bundle savedInstanceState) {    // TODO Auto-generated method stub    super.onCreate(savedInstanceState);    setContentView(R.layout.fristdemo);    mPreferences = getSharedPreferences("config", MODE_PRIVATE);    bb_frist = (Button) findViewById(R.id.bb_frist);    bb_frist.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View arg0) {        // TODO Auto-generated method stub        startActivity(new Intent(FirstDemo.this, TwoDemo.class));        finish();        // 设置界面滑动的动画        overridePendingTransition(R.anim.tran_in, R.anim.tran_out);// 下一页      }    });    // 手势识别器    mDectector = new GestureDetector(this, new SimpleOnGestureListener() {      /**       * 监听手势滑动事件 e1表示滑动的起点,e2表示滑动终点 velocityX表示水平速度 velocityY表示垂直速度       */      @Override      public boolean onFling(MotionEvent e1, MotionEvent e2,          float velocityX, float velocityY) {        // 判断纵向滑动幅度是否过大, 过大的话不允许切换界面        if (Math.abs(e2.getRawY() - e1.getRawY()) > 100) {          Toast.makeText(FirstDemo.this, "不能这样划哦!",              Toast.LENGTH_SHORT).show();          return true;        }        // 判断滑动是否过慢        if (Math.abs(velocityX) < 100) {          Toast.makeText(FirstDemo.this, "滑动的太慢了!",              Toast.LENGTH_SHORT).show();          return true;        }        // 向右划,上一页        if (e2.getRawX() - e1.getRawX() > 200) {          // showPreviousPage();          return true;        }        // 向左划, 下一页        if (e1.getRawX() - e2.getRawX() > 200) {          // showNextPage();          startActivity(new Intent(FirstDemo.this, TwoDemo.class));          finish();          // 设置界面滑动的动画          overridePendingTransition(R.anim.tran_in, R.anim.tran_out);// 下一页          return true;        }        return super.onFling(e1, e2, velocityX, velocityY);      }    });    rl_settring = (RelativeLayout) findViewById(R.id.rl_settring);    tv_desc = (TextView) findViewById(R.id.tv_desc);    cb_status = (CheckBox) findViewById(R.id.cb_status);    boolean autoUpdata = mPreferences.getBoolean("auto_update", false);    if (autoUpdata) {      // 自动更新已开启      tv_desc.setText("自动更新已开启");      cb_status.setChecked(true);    } else {      tv_desc.setText("自动更新已关闭");      cb_status.setChecked(false);    }    rl_settring.setOnClickListener(new OnClickListener() {      @Override      public void onClick(View arg0) {        // TODO Auto-generated method stub        if (cb_status.isChecked()) {          tv_desc.setText("自动更新已关闭");          cb_status.setChecked(false);          mPreferences.edit().putBoolean("auto_update", false)              .commit();        } else {          tv_desc.setText("自动更新已开启");          cb_status.setChecked(true);          mPreferences.edit().putBoolean("auto_update", true)              .commit();        }      }    });    bb_select = (TextView) findViewById(R.id.bb_select);    tv_accout = (TextView) findViewById(R.id.tv_accout);    tv_delete = (TextView) findViewById(R.id.tv_delete);    ll_selectone = (LinearLayout) findViewById(R.id.ll_selectone);    ll_selecttwo = (LinearLayout) findViewById(R.id.ll_selecttwo);    bb_select.setOnClickListener(new OnClickItemClass());    tv_accout.setOnClickListener(new OnClickListener() {      @Override      public void onClick(View arg0) {        // TODO Auto-generated method stub        AlertDialog.Builder builder = new Builder(FirstDemo.this);        builder.setTitle("是否结算");        builder.setMessage("是否结算");        builder.setPositiveButton("确定",            new DialogInterface.OnClickListener() {              @Override              public void onClick(DialogInterface arg0, int arg1) {                // TODO Auto-generated method stub              }            });        builder.setNegativeButton("否定", null);        builder.create().show();      }    });    tv_delete.setOnClickListener(new OnClickListener() {      @Override      public void onClick(View arg0) {        // TODO Auto-generated method stub        AlertDialog.Builder builder = new Builder(FirstDemo.this);        builder.setTitle("是否删除");        builder.setMessage("是否删除当前信息");        builder.setPositiveButton("确定",            new DialogInterface.OnClickListener() {              @Override              public void onClick(DialogInterface arg0, int arg1) {                // TODO Auto-generated method stub                Toast.makeText(FirstDemo.this, "删除成功",                    Toast.LENGTH_SHORT).show();              }            });        builder.setNegativeButton("取消",            new DialogInterface.OnClickListener() {              @Override              public void onClick(DialogInterface arg0, int arg1) {                // TODO Auto-generated method stub              }            });        builder.create().show();      }    });  }  private class OnClickItemClass implements View.OnClickListener {    @Override    public void onClick(View arg0) {      // TODO Auto-generated method stub      // ll_selectone.setVisibility(View.GONE);      // ll_selecttwo.setVisibility(View.VISIBLE);      Log.d("jiejie", "ddddddddddddd" + bb_select.getText());      if (bb_select.getText().toString().equals("编辑")) {        ll_selectone.setVisibility(View.GONE);        ll_selecttwo.setVisibility(View.VISIBLE);        bb_select.setText("完成");        Log.d("jiejie", "ddbb_select.getText().equals(wancheng)dd"            + bb_select.getText());      } else {        ll_selectone.setVisibility(View.VISIBLE);        ll_selecttwo.setVisibility(View.GONE);        bb_select.setText("编辑");        Log.d("jiejie", "ddbb_select.getText().equals(bianji)dd"            + bb_select.getText());      }    }  }  @Override  public boolean onTouchEvent(MotionEvent event) {    mDectector.onTouchEvent(event);// 委托手势识别器处理触摸事件    return super.onTouchEvent(event);  }}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:手势滑动和自定意控件

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录