这篇文章主要介绍ListView,GridView,ScrollView的常用属性和基本用法,并利用ListView实现一个关于微信的界面。...ListView ListView的意思是列表视图,是应用最广泛的一种视图,例如联系人,功能列表,菜单等等都会用到ListView。...对于ListView的优化在后边的Demo中会提到。 ListView的常用属性: android:lsitSelector:设置列表项被点击时的背景色。...ScrollView 滚动视图也是很常见的视图,当一个屏幕中内容很多时,我们可以通过滚动来查看所有内容。...ScrollView继承自FrameLayout,里面只能有一个视图,且只支持垂直滚动,如果想水平滚动,使用HorizontalScrollView。
ScrollView中只能放一个控件,一般都放LinearLayout,orientation属性值为vertical。在LinearLayout中放需要呈现的内容。...ListView也在其中,ListView的高度设为适应自身内容(wrap_content)。...但是为啥在scrollview中嵌套listview会出现只显示第一条listitem的高度呢,原因是:scrollview的ontach方法的滚动事件消费处理,ListView控件的高度设定问题 从谷歌那里找到的...ScrollView嵌套ListView只显示一行的解决办法相信很多人都遇到过,然后大部分都是用这位博主的办法解决的吧 刚开始我也是用这个办法解决的,首先感谢这位哥的大私奉献,贴上地址 http:/... listView) { // 获取ListView对应的Adapter ListAdapter listAdapter = listView.getAdapter
myAdapter = new MyAdapter(); listView.setAdapter(myAdapter); listView.setOnScrollListener...= (ScrollView) findViewById(R.id.scrollView1); listView = (ListView) findViewById(R.id.listView1...return super.dispatchTouchEvent(ev); } listView.setOnScrollListener(new OnScrollListener(...翻译过来就是: 你不应该同时使用ScrollView 和ListView,因为ListView负责自己的垂直滚动。...最重要的是,这样优化ListView来处理大的列表的最大缺陷是,因为它迫使ListView显示整个项目列表填满由ScrollView 提供的空间。
布局文件 当ListView嵌套在ScrollView中时,会发生冲突,导致ListView控件的拉动效果消失‘ 解决办法: 重写ListView的onTouchEvent(),并在返回前调用getParent...android.view.View.OnTouchListener; 9 import android.widget.ArrayAdapter; 10 import android.widget.ListView...(true); 36 return false; 37 } 38 }); 39 } 40 41 } 布局文件 1 ScrollView...android:id="@+id/listView" 24 > 25 ListView> 26 27 android:layout_width...36 37 ScrollView> 效果图: ?
无论是SingleChildScrollView、NestedScrollView还是CustomScrollView,在嵌套ListView或其他可以滑动的widget的时候,导致滑动冲突或卡顿等,...是因为二者都有可滑动属性,所以解决办法就是禁掉二者其一的滑动,一般选择子widget即ListView。
这类问题简单来说就是一个高度测量的问题,由于ScrollView的引入,无法正确的测量出ListView的高度,导致显示不完全甚至不显示的问题。...重写ListView的onMeasure方法可处理。...public class CustListView extends ListView { public CustListView(Context context) { super
前言 秋招在即,计蒙准备在国庆假期结束前整理一套Android初级面试题籍,希望对大家有所帮助 提示:以下是本篇文章正文内容 ListView 1.当 ListView 数据集改变后,如何更新 ListView...2.ListView 如何实现分页加载 ① 设置 ListView 的滚动监听器:setOnScrollListener(new OnScrollListener{….})...10.如何在 ScrollView 中如何嵌入 ListView? 通常情况下我们不会在 ScrollView 中嵌套 ListView,但是如果面试官非让我嵌套的话也是可以的。...在 ScrollView 添加一个 ListView 会导致 listview控件显示不全,通常只会显示一条,这是因为两个控件的滚动事件冲突导致。...12.你知道ListView的setEmptyView方法吗? 在Android开发中,用ListView显示数据时,如果数据为空,通常需要显示一个提示视图,而setEmptyView便可解决此问题
://github.com/makovkastar/FloatingActionButton 小编用的是第一个,然后重写了一下里面的滑动监听实现了listview滑动显示隐藏按钮。...); listView.setOnScrollListener(scrollDetector); } private class AbsListViewScrollDetectorImpl...scrollDirectionListener) { mScrollDirectionListener = scrollDirectionListener; } public void setOnScrollListener...PullToZoomScrollViewEx scrollView = (PullToZoomScrollViewEx) findViewById(R.id.my_pull_scoll);...(headView); scrollView.setZoomView(zoomView); scrollView.setScrollContentView(contentView
listview是默认不显示的,当点击父listview去张开子listview,父listview应该会再次刷新,但子listview展开是可以的,然后下一次更新数据源的时候子listview又会自动关闭...,我猜应该是在刷新子listview的时候,父listview先更新完成,子listview的高度测量就没有对!...下面是我的源码 listview 嵌套listview都有个高度测量的问题,在更新的时候动态更新子listview就,下面是布局源码 listView1" android:scrollbars="none" android:layout_width="match_parent" android:layout_height=...android.widget.LinearLayout; import android.widget.ListAdapter; import android.widget.ListView; import
/ 正文 一、结构 public class ScrollView extends FrameLayout java.lang.Object android.view.View ...android.view.ViewGroup android.widget.FrameLayout android.widget.ScrollView...典型的情况如:父视图中某个子视图使用一个Scroller对象来实现滚动操作,会使得此方法被调用。.../ScrollView2 添加自动滚动和智能焦点切换 [Android学习指南]使用ScrollView实现滚动效果 Android中ScrollView与ListView共用问题的解决方案 示例代码... 下载:Demo_ScrollView.rar 七、译者其他译文 android 中文 api (64) —— Scroller
> android="http://schemas.android.com/apk/res/android" android:layout_width="...设置滚动监听器给ListView, 使得滚动的情况下也可以自动加载 mListView.setOnScrollListener(new AbsListView.OnScrollListener...mListView.setOnScrollListener(new AbsListView.OnScrollListener() {...--里面可以为ListView,RecyclerView,ScrollView等滑动布局--> ListView android:layout_width="match_parent..." android:layout_height="match_parent" android:id="@+id/listview"/> </com.myzp.mapp.MySwipeRefreshLayout
ListView是Android中最常用的控件之一,几乎所有的应用程序都会用到它,因此学会运用它很重要。下面我们从一个例子中去理解ListView的用法,先看一下我们这个例子的项目结构图 ?...android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ListView...ListView listView=findViewById(R.id.list_view); listView.setAdapter(adapter);...match_parent" android:layout_height="match_parent" > ListView android:id="@+id/...总结: 使用ListView,关键是在适配器与适配器的类型上,这两个方面掌握了,基本就可以定制出属于自己的ListView界面了。
地址 CSDN 地址:http://blog.csdn.net/xiangyong_1521/article/details/50957563 scroollview、listview、gridview...totalItemCount) { View view3 = gridView.getChildAt(totalItemCount-1-firstVisibleItem);//scrollview...---- 二、listview监听方法 ListView().setOnScrollListener(new OnScrollListener() { @Override...的监听方法更简单明了,也是调用的setOnScrollListener监听,在onScroll方法内直接计算几个数值即可实现监听。...int scrollViewMeasuredHeight=observableScrollView.getChildAt(0).getMeasuredHeight();//scrollview
Flutter里面的ScrollView及其子view都可以添加下拉刷新功能,只要在view的上层再包裹一层RefreshIndicator,这个下拉刷新是MD风格的。...几个要注意的点(以ListView为例) 如果ListView的内容不足一屏,要设置ListView的physics属性为const AlwaysScrollableScrollPhysics() onRefresh...refreshIndicatorKey, onRefresh: _getData, // onRefresh 参数是一个 Future 的回调 child: new ListView.builder
开发中布局嵌套是很常见的,ScrollView中使用ListView、GridView需要自定义,不能直接使用系统自带的ListView和GridView。...android.widget.GridView; /** * 基本功能:适配ScrollView 的 GridView * 创建:王杰 * 创建时间:2015-09-09 */ public...; import android.util.AttributeSet; import android.view.View; import android.widget.ListView; /** *...基本功能:适配ScrollView的ListView * 创建:王杰 * 创建时间:2015-09-10 * 邮箱:w489657152@gmail.com */ public class ListViewForScrollView...同理:ListView和GridView的嵌套也是一个原理。
解决的问题有两个: 1)实现水平滑动的ListView。...import android.view.View.MeasureSpec; import android.view.MotionEvent; import android.view.View...放到ScrollView里面(见截图实现),而这两个控件恰好滑动会有冲突,滑动水平ListView时会有卡顿,因此重写ScrollView,以达到流畅滑动: Java代码 package com.liucanwen.horizontallistview.view... import android.view.View; import android.widget.ScrollView; /** * 重写ScrollView,以解决ScrollView...与水平listView滑动时冲突 */ public class MyScrollView extends ScrollView { private GestureDetector
效果图: 有两个相同吸顶的View viewA在ScrollView中 viewB与ScrollView同级 根据ScrollView滑动距离判断同级的viewB 是否显示 当滑动的距离大于viewA...="@+id/scrollView" android:layout_width="match_parent" android:layout_height="match_parent...; import android.content.Context; import android.util.AttributeSet; import android.widget.ScrollView...* Describe : 带滑动监听的scrollview */ public class MyScrollView extends ScrollView { public interface...ScrollViewListener { void onScrollChanged(MyScrollView scrollView, int x, int y, int oldx, int
一:ListView 最简单的用法 ListView最简单的用法无非就是用它写一个最基本的列表界面,展示的数据也就是我们最基本和常见的单条数据,一步一步的走下去: ListView...方法创建好数据源之后,用下面的方法: ArrayAdapter adapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item...经过上面两步的优化,这个ListView的运行效率已经非常不错了!...三: ListView的点击事件 这个就像你用了TableView的时候,你写了那么多cell肯定是能点击的,我们就说说ListView的点击事件: image.png 我们这里是简单的写了它的点击事件...,让它弹出一个Toast, 当然这个Toast前面我们也是说过的,我们使用 setOnItemClickListener 为ListView 注册一个监听器,当用户点击了ListView当中的任何一个子项时候
private ListView listView; // 数据 private String[] data = { "Apple", "Banana", "Orange...savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); listView...= (ListView) findViewById(R.id.list_view); // 适配器 ArrayAdapter adapter = new ArrayAdapter...(ActivityTest.this, android.R.layout.simple_list_item_1, data); listView.setAdapter(adapter
ListView是比较常用的控件之一,在这里总结一下,方便查阅。 程序效果是实现一个ListView,ListView里面有标题、内容和图片,并加入单击和长按响应。..." android:layout_height="fill_parent" > ListView android:id="@+id/ListView" android...:layout_width="wrap_content" android:layout_height="wrap_content" /> 2.定义ListView...;import android.widget.AdapterView;import android.widget.ListView;import android.widget.SimpleAdapter...ListView list = (ListView) findViewById(R.id.ListView); // 生成动态数组,加入数据 ArrayList<HashMap<String,