
本文实例为大家分享了Andriod滑动布局的具体代码,供大家参考,具体内容如下
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 totalitemCount) { } }); 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类库项目结构:
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)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)