双listview下滚动头部文件
来源:互联网 发布:杨振宁和李政道 知乎 编辑:程序博客网 时间:2024/05/22 02:18
小小的借鉴了一下别人的代码和自己的想法写的,希望给需要的人一点帮助
主activity
package com.example.listtest;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.SimpleAdapter;
import android.widget.SlidingDrawer;
import android.widget.SlidingDrawer.OnDrawerCloseListener;
import android.widget.SlidingDrawer.OnDrawerOpenListener;
public class MainActivity extends Activity implements OnTouchListener{
private scrollviewlist list1, list2;
private Button btn;
private List strli;
private SlidingDrawer mdrawer;
private LinearLayout content, content2;
private int _yDelta;
@SuppressWarnings("deprecation")@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); content = (LinearLayout) findViewById(R.id.content); content2 = (LinearLayout) findViewById(R.id.content2); list1 = (scrollviewlist) findViewById(R.id.listView1); list2 = (scrollviewlist) findViewById(R.id.listView2); list2.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, getData())); list1.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, getData())); content.setOnTouchListener(this);
// content2.setOnTouchListener(this);
}
@Overridepublic boolean onTouch(View view, MotionEvent event) { // TODO Auto-generated method stub final int Y = (int) event.getRawY(); switch (event.getAction() & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: RelativeLayout.LayoutParams lParams = (RelativeLayout.LayoutParams) view .getLayoutParams(); _yDelta = Y - lParams.topMargin; break; case MotionEvent.ACTION_UP: break; case MotionEvent.ACTION_POINTER_DOWN: break; case MotionEvent.ACTION_POINTER_UP: break; case MotionEvent.ACTION_MOVE: RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) view .getLayoutParams(); if (Y - _yDelta > (-450)) {//判断隐藏了多少,-120可以更改 layoutParams.topMargin = Y - _yDelta ; } else { layoutParams.topMargin = -450; } if (Y - _yDelta < 0) {//判断出现了多少,60可以更改 layoutParams.bottomMargin = Y - _yDelta ; } else { layoutParams.topMargin = 0; } view.setLayoutParams(layoutParams); break; } return true;}private List<String> getData() { List<String> data = new ArrayList<String>(); data.add("测试数据1"); data.add("测试数据2"); data.add("测试数据3"); data.add("测试数据4"); data.add("测试数据4"); data.add("测试数据4"); data.add("测试数据4"); data.add("测试数据4"); data.add("测试数据4"); data.add("测试数据4"); data.add("测试数据1"); data.add("测试数据2"); data.add("测试数据3"); data.add("测试数据4"); data.add("测试数据4"); data.add("测试数据4"); data.add("测试数据4"); data.add("测试数据4"); data.add("测试数据4"); data.add("测试数据4"); return data;}
}
副:自定义listview
package com.example.listtest;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ListView;
public class scrollviewlist extends ListView {
public scrollviewlist(Context context) { super(context); // TODO Auto-generated constructor stub}public scrollviewlist(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub}public scrollviewlist(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // TODO Auto-generated method stub int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, heightMeasureSpec);}
}
xml文件:
- 双listview下滚动头部文件
- Android 监听listview滚动状态。头部、尾部
- Android ListView 技巧设置固定可滚动头部
- 一步一步做ListView滚动固定头部并且头部会变化哦
- 共同头部+ViewPager+ListView
- ListView头部视差效果
- ListView头部添加ViewPager
- ListView快速添加头部
- listview滚动
- listview滚动
- ScrollView向上滚动显示头部
- mui 头部横向滚动菜单
- 页面头部不随滚动条滚动
- jquery判断页面滚动条(scroll)是上滚还是下滚,且是否滚动到头部或者底部
- jquery判断页面滚动条(scroll)是上滚还是下滚,且是否滚动到头部或者底部
- jquery判断页面滚动条(scroll)是上滚还是下滚,且是否滚动到头部或者底部
- ListView 添加头部和尾部
- 自定义ListView,头部视图悬停
- XUbuntu14.04 64位安装bcompare并添加到右键菜单
- Hello World
- linux NFS服务
- HDU 1247 Hat’s Words(trie树+STL)
- 1021. 个位数统计 (15)
- 双listview下滚动头部文件
- 小小菜之Cocos2d-x游戏开发旅程——项目实例:贪吃蛇(5)
- 知识:漂亮的女主播,就是绰号章鱼的那个
- codefoeces 567 D
- <二>java数据结构与算法 冒泡排序
- POJ 2828 Buy Tickets (线段树 单点更新 查询右界)
- poj 2182 树状数组+二分
- Bestcoders 51 div2 1001
- 遇上街 - 遇上,开心购吧! 专注独家折扣,全场包邮!明星衣橱时尚购物网站,男装,女装,女包,女鞋,护肤,美妆优品推荐!