Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Andriod学习教程之滑动布局(14)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例为大家分享了Andriod滑动布局的具体代码,供大家参,具体内容如下

@H_297_0@mainActivity.java代码:

package siso.swipelayoutdemo;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

import com.nineoldandroids.view.ViewHelper;

import siso.swipelib.SwipeLayout;

public class MainActivity extends AppCompatActivity {

 private SwipeLayout sample1,sample2,sample3;

 @Override
 protected void onCreate(Bundle savedInstanceStatE) {
  super.onCreate(savedInstanceStatE);
  setContentView(R.layout.main);

  sample1 = (SwipeLayout) findViewById(R.id.sample1);
  sample1.setShowMode(SwipeLayout.ShowMode.PullOut);
  View starBottView = sample1.findViewById(R.id.starbott);
  sample1.addDrag(SwipeLayout.DragEdge.Left,sample1.findViewById(R.id.bottom_wrapper));
  sample1.addDrag(SwipeLayout.DragEdge.Right,sample1.findViewById(R.id.bottom_wrapper_2));
  sample1.addDrag(SwipeLayout.DragEdge.Top,starBottView);
  sample1.addDrag(SwipeLayout.DragEdge.bottom,starBottView);
  sample1.addRevealListener(R.id.delete,new SwipeLayout.onRevealListener() {
   @Override
   public void onReveal(View child,SwipeLayout.DragEdge edge,float fraction,int distancE) {

   }
  });

  sample1.getSurfaceView().setOnClickListener(new View.onClickListener() {
   @Override
   public void onClick(View v) {
    Toast.makeText(MainActivity.this,"Click on surface",Toast.LENGTH_SHORT).show();
    Log.d(MainActivity.class.getName(),"click on surface");
   }
  });
  sample1.getSurfaceView().setOnLongClickListener(new View.onLongClickListener() {
   @Override
   public Boolean onLongClick(View v) {
    Toast.makeText(MainActivity.this,"longClick on surface","longClick on surface");
    return true;
   }
  });
  sample1.findViewById(R.id.star2).setOnClickListener(new View.onClickListener() {
   @Override
   public void onClick(View v) {
    Toast.makeText(MainActivity.this,"Star",Toast.LENGTH_SHORT).show();
   }
  });

  sample1.findViewById(R.id.trash2).setOnClickListener(new View.onClickListener() {
   @Override
   public void onClick(View v) {
    Toast.makeText(MainActivity.this,"Trash Bin",Toast.LENGTH_SHORT).show();
   }
  });

  sample1.findViewById(R.id.magnifier2).setOnClickListener(new View.onClickListener() {
   @Override
   public void onClick(View v) {
    Toast.makeText(MainActivity.this,"Magnifier",Toast.LENGTH_SHORT).show();
   }
  });

  sample1.addRevealListener(R.id.starbott,int distancE) {
    View star = child.findViewById(R.id.star);
    float d = child.getHeight() / 2 - star.getHeight() / 2;
    ViewHelper.setTranslationY(star,d * fraction);
    ViewHelper.setScaleX(star,fraction + 0.6f);
    ViewHelper.setScaleY(star,fraction + 0.6f);
   }
  });

  //sample2

  sample2 = (SwipeLayout) findViewById(R.id.sample2);
  sample2.setShowMode(SwipeLayout.ShowMode.LayDown);
  sample2.addDrag(SwipeLayout.DragEdge.Right,sample2.findViewWithTag("Bottom2"));
 sample2.findViewById(R.id.star).setOnClickListener(new View.onClickListener() {
   @Override
   public void onClick(View v) {
    Toast.makeText(MainActivity.this,Toast.LENGTH_SHORT).show();
   }
  });

  sample2.findViewById(R.id.trash).setOnClickListener(new View.onClickListener() {
   @Override
   public void onClick(View v) {
    Toast.makeText(MainActivity.this,Toast.LENGTH_SHORT).show();
   }
  });

  sample2.findViewById(R.id.magnifier).setOnClickListener(new View.onClickListener() {
   @Override
   public void onClick(View v) {
    Toast.makeText(MainActivity.this,Toast.LENGTH_SHORT).show();
   }
  });

  sample2.findViewById(R.id.click).setOnClickListener(new View.onClickListener() {
   @Override
   public void onClick(View v) {
    Toast.makeText(MainActivity.this,"Yo",Toast.LENGTH_SHORT).show();
   }
  });
  sample2.getSurfaceView().setOnClickListener(new View.onClickListener() {
   @Override
   public void onClick(View v) {
    Toast.makeText(MainActivity.this,Toast.LENGTH_SHORT).show();
   }
  });

  //sample3

  sample3 = (SwipeLayout) findViewById(R.id.sample3);
  sample3.addDrag(SwipeLayout.DragEdge.Top,sample3.findViewWithTag("Bottom3"));
  sample3.addRevealListener(R.id.bottom_wrapper_child1,fraction + 0.6f);
    int c = (Integer) evaluate(fraction,Color.parseColor("#dddddd"),Color.parseColor("#4C535B"));
    child.setBACkgroundColor(c);
   }
  });
  sample3.findViewById(R.id.bottom_wrapper_child1).setOnClickListener(new View.onClickListener() {
   @Override
   public void onClick(View v) {
    Toast.makeText(MainActivity.this,"Yo!",Toast.LENGTH_SHORT).show();
   }
  });
  sample3.getSurfaceView().setOnClickListener(new View.onClickListener() {
   @Override
   public void onClick(View v) {
    Toast.makeText(MainActivity.this,Toast.LENGTH_SHORT).show();
   }
  });

 }

 @Override
 public Boolean onCreateOptionsMenu(Menu menu) {

  getMenuInflater().inflate(R.menu.my,menu);
  return true;
 }

 @Override
 public Boolean onOptionsItemSELEcted(MenuItem item) {

  int id = item.getItemId();
  if (id == R.id.action_listview) {
   startActivity(new Intent(this,ListViewExample.class));
   return true;
  } else if (id == R.id.action_gridview) {
   startActivity(new Intent(this,GridViewExample.class));
   return true;
  } else if (id == R.id.action_nested) {
   startActivity(new Intent(this,nestedExample.class));
   return true;
  } else if (id == R.id.action_recycler) {
   startActivity(new Intent(this,RecyclerViewExample.class));
  }
  return super.onOptionsItemSELEcted(item);
 }

 /*
 Color transition method.
  */
 public Object evaluate(float fraction,Object startValue,Object endvalue) {
  int starTint = (Integer) startValue;
  int startA = (starTint >> 24) & 0xff;
  int startR = (starTint >> 16) & 0xff;
  int startG = (starTint >> 8) & 0xff;
  int startB = starTint & 0xff;

  int endInt = (Integer) endValue;
  int endA = (endInt >> 24) & 0xff;
  int endR = (endInt >> 16) & 0xff;
  int endG = (endInt >> 8) & 0xff;
  int endB = endInt & 0xff;

  return (int) ((startA + (int) (fraction * (endA - startA))) << 24) |
    (int) ((startR + (int) (fraction * (endR - startR))) << 16) |
    (int) ((startG + (int) (fraction * (endG - startG))) << 8) |
    (int) ((startB + (int) (fraction * (endB - startB))));
 }
}

nestedExample.java代码:

package siso.swipelayoutdemo;

import android.app.Activity;
import android.os.bundle;
import android.view.View;
import android.widget.Toast;

import siso.swipelib.SwipeLayout;


public class nestedExample extends Activity{

 @Override
 protected void onCreate(Bundle savedInstanceStatE) {
  super.onCreate(savedInstanceStatE);
  setContentView(R.layout.complicate_layout);
   SwipeLayout swipeLayout = (SwipeLayout)findViewById(R.id.test_swipe_swipE);
  swipeLayout.setOnDoubleClickListener(new SwipeLayout.DoubleClickListener() {
   @Override
   public void onDoubleClick(SwipeLayout layout,Boolean surfacE) {
    Toast.makeText(getApplicationContext(),"DoubleClick",Toast.LENGTH_SHORT).show();
   }
  });
  swipeLayout.findViewById(R.id.trash).setOnClickListener(new View.onClickListener() {
   @Override
   public void onClick(View v) {
    Toast.makeText(getApplicationContext(),"Click",Toast.LENGTH_SHORT).show();
   }
  });
 }
}

RecyclerViewExample.java代码:

package siso.swipelayoutdemo;

import android.app.ActionBar;
import android.app.Activity;
import android.content.Intent;
import android.os.build;
import android.os.bundle;
import android.support.v7.widget.linearlayoutmanager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;


import java.util.ArrayList;
import java.util.Arrays;

import jp.wasabeef.recyclerview.animators.FadeInLeftAnimator;
import siso.swipelayoutdemo.adapter.RecyclerViewAdapter;
import siso.swipelayoutdemo.adapter.util.DividerItemDecoration;
import siso.swipelib.util.Attributes;

public class RecyclerViewExample extends Activity {

 private RecyclerView recyclerView;
 private RecyclerView.Adapter mAdapter;

 private ArrayList<String> mDataSet;

 @Override
 protected void onCreate(Bundle savedInstanceStatE) {
  super.onCreate(savedInstanceStatE);
  setContentView(R.layout.recyclerview);
  recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODEs.HONEYCOMB) {
   ActionBar actionBar = getActionBar();
   if (actionBar != null) {
    actionBar.settitle("RecyclerView");
   }
  }

  // Layout Managers:
  recyclerView.setLayoutManager(new linearlayoutmanager(this));

  // Item Decorator:
  recyclerView.addItemDecoration(new DividerItemDecoration(getresources().getDrawable(R.drawable.divider)));
  recyclerView.setItemAnimator(new FadeInLeftAnimator());

  // Adapter:
  String[] adapterData = new String[]{"Alabama","Alaska","Arizona","Arkansas","California","Colorado","Connecticut","Delaware","Florida","Georgia","Hawaii","Idaho","Illinois","Indiana","Iowa","Kansas","Kentucky","Louisiana","Maine","Maryland","Massachusetts","Michigan","Minnesota","Mississippi","Missouri","Montana","Nebraska","Nevada","New Hampshire","New jersey","New Mexico","New York","North Carolina","North Dakota","Ohio","Oklahoma","Oregon","Pennsylvania","Rhode Island","South Carolina","South Dakota","Tennessee","Texas","Utah","Vermont","Virginia","Washington","West Virginia","Wisconsin","Wyoming"};
  mDataSet = new ArrayList<String>(Arrays.asList(adapterData));
  mAdapter = new RecyclerViewAdapter(this,mDataSet);
  ((RecyclerViewAdapter) mAdapter).setMode(Attributes.Mode.SinglE);
  recyclerView.setAdapter(mAdapter);

  /* Listeners */
  recyclerView.setOnScrollListener(onScrollListener);
 }


 RecyclerView.onScrollListener onScrollListener = new RecyclerView.onScrollListener() {
  @Override
  public void onScrollStateChanged(RecyclerView recyclerView,int newStatE) {
   super.onScrollStateChanged(recyclerView,newStatE);
   Log.e("ListView","onScrollStateChanged");
  }

  @Override
  public void onScrolled(RecyclerView recyclerView,int dx,int dy) {
   super.onScrolled(recyclerView,dx,dy);

  }
 };


 @Override
 public Boolean onCreateOptionsMenu(Menu menu) {

  getMenuInflater().inflate(R.menu.my,ListViewExample.class));
   finish();
   return true;
  } else if (id == R.id.action_gridview) {
   startActivity(new Intent(this,GridViewExample.class));
   finish();
   return true;
  }
  return super.onOptionsItemSELEcted(item);
 }
}

ListViewExample.java代码:

package siso.swipelayoutdemo;

import android.app.ActionBar;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.build;
import android.os.bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;

import siso.swipelayoutdemo.adapter.ListViewAdapter;
import siso.swipelib.SwipeLayout;
import siso.swipelib.util.Attributes;


public class ListViewExample extends Activity {

 private ListView mListView;
 private ListViewAdapter mAdapter;
 private Context mContext = this;

 @Override
 protected void onCreate(Bundle savedInstanceStatE) {
  super.onCreate(savedInstanceStatE);
  setContentView(R.layout.listview);
  mListView = (ListView) findViewById(R.id.listview);
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODEs.HONEYCOMB) {
   ActionBar actionBar = getActionBar();
   if (actionBar != null) {
    actionBar.settitle("ListView");
   }
  }

  mAdapter = new ListViewAdapter(this);
  mListView.setAdapter(mAdapter);
  mAdapter.setMode(Attributes.Mode.SinglE);
  mListView.setOnItemClickListener(new AdapterView.onItemClickListener() {
   @Override
   public void onItemClick(AdapterView<?> parent,View view,int position,long id) {
    ((SwipeLayout)(mListView.getChildAt(position - mListView.getFirstVisiblePosition()))).open(true);
   }
  });
  mListView.setOnTouchListener(new View.onTouchListener() {
   @Override
   public Boolean onTouch(View v,MotionEvent event) {
    Log.e("ListView","OnTouch");
    return false;
   }
  });
  mListView.setOnItemLongClickListener(new AdapterView.onItemLongClickListener() {
   @Override
   public Boolean onItemLongClick(AdapterView<?> parent,long id) {
    Toast.makeText(mContext,"OnItemLongClickListener",Toast.LENGTH_SHORT).show();
    return true;
   }
  });
  mListView.setOnScrollListener(new AbsListView.onScrollListener() {
   @Override
   public void onScrollStateChanged(AbsListView view,int scrollStatE) {
    Log.e("ListView","onScrollStateChanged");
   }

   @Override
   public void onScroll(AbsListView view,int firstVisibleItem,int visibleItemCount,int @R_790_10586@lItemCount) {

   }
  });

  mListView.setOnItemSELEctedListener(new AdapterView.onItemSELEctedListener() {
   @Override
   public void onItemSELEcted(AdapterView<?> parent,long id) {
    Log.e("ListView","onItemSELEcted:" + position);
   }

   @Override
   public void onNothingSELEcted(AdapterView<?> parent) {
    Log.e("ListView","onNothingSELEcted:");
   }
  });

 }


 @Override
 public Boolean onCreateOptionsMenu(Menu menu) {

  getMenuInflater().inflate(R.menu.my,GridViewExample.class));
   finish();
   return true;
  } else if (id == R.id.action_recycler) {
   startActivity(new Intent(this,RecyclerViewExample.class));
   finish();
   return true;
  }
  return super.onOptionsItemSELEcted(item);
 }
}

GridViewExample.java代码:

package siso.swipelayoutdemo;

import android.app.Activity;
import android.os.bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;

import siso.swipelayoutdemo.adapter.GridViewAdapter;
import siso.swipelib.util.Attributes;


public class GridViewExample extends Activity{

 @Override
 protected void onCreate(Bundle savedInstanceStatE) {
  super.onCreate(savedInstanceStatE);
  setContentView(R.layout.gridview);
  final GridView gridView = (GridView)findViewById(R.id.gridview);
  final GridViewAdapter adapter = new GridViewAdapter(this);
  adapter.setMode(Attributes.Mode.MultiplE);
  gridView.setAdapter(adapter);
  gridView.setSELEcted(false);
  gridView.setOnItemLongClickListener(new AdapterView.onItemLongClickListener() {
   @Override
   public Boolean onItemLongClick(AdapterView<?> parent,long id) {
    Log.e("onItemLongClick","onItemLongClick:" + position);
    return false;
   }
  });
  gridView.setOnItemClickListener(new AdapterView.onItemClickListener() {
   @Override
   public void onItemClick(AdapterView<?> parent,long id) {
    Log.e("onItemClick","onItemClick:" + position);
   }
  });


  gridView.setOnItemSELEctedListener(new AdapterView.onItemSELEctedListener() {
   @Override
   public void onItemSELEcted(AdapterView<?> parent,long id) {
    Log.e("onItemSELEcted","onItemSELEcted:" + position);
   }

   @Override
   public void onNothingSELEcted(AdapterView<?> parent) {

   }
  });

 }
}

app项目结构:

Andriod学习教程之滑动布局(14)

Andriod类库项目结构:

Andriod学习教程之滑动布局(14)

build.gradle

apply plugin: 'com.android.application'

android {
 compileSdkVersion 23
 buildToolsVersion "23.0.1"

 defaultConfig {
  applicationId "siso.swipelayoutdemo"
  minSdkVersion 22
  targetSdkVersion 22
  versionCode 1
  versionName "1.0"
 }
 buildTypes {
  release {
   minifyEnabled false
   proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
  }
 }
}

dependencies {
 compile fileTree(include: ['*.jar'],dir: 'libs')
 TESTCompile 'junit:junit:4.12'
 compile 'com.android.support:appcompat-v7:23.0.1'
 compile project(path: ':swipelib')
 compile 'com.android.support:recyclerview-v7:23.3.0'
 compile 'com.daimajia.easing:library:1.0.0@aar'
 compile 'com.daimajia.androidanimations:library:1.1.2@aar'
 compile 'com.nineoldandroids:library:2.4.0'
 compile 'jp.wasabeef:recyclerview-animators:1.0.3@aar'
}


运行结果如图:

Andriod学习教程之滑动布局(14)

Andriod学习教程之滑动布局(14)

Andriod学习教程之滑动布局(14)

Andriod学习教程之滑动布局(14)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

大佬总结

以上是大佬教程为你收集整理的Andriod学习教程之滑动布局(14)全部内容,希望文章能够帮你解决Andriod学习教程之滑动布局(14)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:布局滑动