导航:首页 > 操作系统 > androidlayout刷新

androidlayout刷新

发布时间:2022-05-27 20:36:46

android 为什么swiperefreshlayout刷新动画是一跟线条

ViewPager是Android中提供的页面切换的控件,SwipeRefreshLayout是Android提供的下拉刷新控件,通过SwipeRefreshLayout可以很简单的实现下拉刷新的功能,但是如果SwipeRefreshLayout的子view中如果包含了ViewPager,会发现滑动ViewPager的时候,很容易引起SwipeRefreshLayout的下拉刷新操作为了解决这个冲突可以这样实现
1 viewPager.setOnTouchListener(new View.OnTouchListener() {
2 @Override
3 public boolean onTouch(View v, MotionEvent event) {
4 switch (event.getAction()) {
5 case MotionEvent.ACTION_MOVE:
6 swipeRefreshLayout.setEnabled(false);
7 break;
8 case MotionEvent.ACTION_UP:
9 case MotionEvent.ACTION_CANCEL:
10 swipeRefreshLayout.setEnabled(true);
11 break;
12 }
13 return false;
14 }
15 });

ViewPager,设置OnTouchListener,里面当ACTION_MOVE的时候设置SwipeRefreshLayout不可用,当ACTION_UP或者ACTION_CANCEL的时候设置SwipeRefreshLayout可以,就可以解决这个冲突了

Ⅱ android smartrefreshlayout刷新中怎么添加自定义的界面

一般的消息列表为ListView类型,将list加载到adapter中,再将adapter加载到ListView中,从而实现消息列表的展示。而下拉刷新要求给消息列表加一个头部,其中有图片(向上/向下箭头)和提示字样(下拉刷新/松开刷新)

Ⅲ android 如何将swiperefreshlayout刷新动画能定制吗

在layout中添加SwipeRefreshLayout

1 <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
2 android:id="@+id/swipe_container"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent" >
5
6 <ScrollView
7 android:layout_width="match_parent"
8 android:layout_height="wrap_content" >
9
10 <TextView
11 android:id="@+id/textView1"
12 android:layout_width="match_parent"
13 android:layout_height="wrap_content"
14 android:gravity="center"
15 android:paddingTop="10dp"
16 android:text="@string/swipe_to_refresh"
17 android:textSize="20sp"
18 android:textStyle="bold" />
19 </ScrollView>
20
21 </android.support.v4.widget.SwipeRefreshLayout>

在Activity中使用:

1 tv = (TextView)findViewById(R.id.textView1);
2 swipeRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.swipe_container);
3 //设置刷新时动画的颜色,可以设置4个
4 swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_light, android.R.color.holo_red_light, android.R.color.holo_orange_light, android.R.color.holo_green_light);
5 swipeRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
6
7 @Override
8 public void onRefresh() {
9 tv.setText("正在刷新");
10 // TODO Auto-generated method stub
11 new Handler().postDelayed(new Runnable() {
12
13 @Override
14 public void run() {
15 // TODO Auto-generated method stub
16 tv.setText("刷新完成");
17 swipeRefreshLayout.setRefreshing(false);
18 }
19 }, 6000);
20 }
21 });

PS:setColorScheme()已经弃用,使用setColorSchemeResources()来设置颜色。

Ⅳ android swiperefreshrecyclerview 怎么实时刷新

使用官方的刷新控件SwipeRefreshLayout来实现下拉刷新,当RecyclerView滑到底部实现下拉加载(进度条效果用RecyclerView加载一个布局实现) 喜欢Android RecyclerView实现下拉刷新和上拉加载更多的网友,不妨看看下面这篇文章: [js事件冒泡与事件捕获详解]/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <android/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv_item_footer_load_more" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="16dp" android:gravity="center" android:text="上拉加载更多" /> <ProgressBar android:id="@+id/pb_item_footer_loading" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="16dp"android:visibility="gone"/></RelativeLayout>适配器 public class RecyclerAdapter extends RecyclerViewIdNameLoadMore; } } /** * 获取数据集加上一个footer的数量 */ @Override public int getItemCount() { return dataList_item_id); tvName = (TextView) itemView_item_name); } } /** * footer的ViewHolder */ public static class FooterViewHolder extends ViewHolder { private TextView tvLoadMore; private ProgressBar pbLoading; public FooterViewHolder(View itemView) { super(itemView); tvLoadMore = (TextView) itemView_item_footer_load_more); pbLoading = (ProgressBar) itemView.findViewById(R.id.pb_item_footer_loading); } } /** * 显示正在加载的进度条,滑动到底部时,调用该方法,上拉就显示进度条,隐藏"上拉加载更多" */ public void showLoading() { if (pbLoading != null && tvLoadMore != null) { pbLoading.setVisibility(View.VISIBLE); tvLoadMore.setVisibility(View.GONE); } } /** * 显示上拉加载的文字,当数据加载完毕,调用该方法,隐藏进度条,显示“上拉加载更多” */ public void showLoadMore() { if (pbLoading != null && tvLoadMore != null) { pbLoading.setVisibility(View.GONE); tvLoadMore.setVisibility(View.VISIBLE); } }}

Ⅳ android在framelayout怎么实现下拉刷新

下拉刷新 android sdk中几年前就有了SwipeRefreshLayout 比第三方的库用法简单100倍
swipeRefreshLayout.setRefreshing(false); swipeRefreshLayout.setRefreshing(true);

Ⅵ android 动态添加控件 怎么刷新页面

1、动态添加的时候为组件设置id,删除的时候根据id查找到对应组件,然后删除
2、根据父节点,获取所有父组件下的子组件,然后依次删除。
示例:
protected View createView() {//动态添加组件
Button btn = new Button(this);//动态创建按钮
btn.setId(index++);
btn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
btn.setText("aaaaaa" + index);
return btn;
}
private void removeView() {//动态删除组件(按钮)
//获取linearlayout子view的个数
int count = linearLayout.getChildCount();
//研究整个LAYOUT布局,第0位的是含add和remove两个button的layout
//第count-1个是那个文字被置中的textview
//因此,在remove的时候,只能操作的是0<location<count-1这个范围的
//在执行每次remove时,我们从count-2的位置即textview上面的那个控件开始删除~
if (count - 2 > 0) {
//count-2>0用来判断当前linearlayout子view数多于2个,即还有我们点add增加的button
linearLayout.removeViewAt(count - 2);
}
}

Ⅶ android swiperefreshlayout怎么禁止下拉刷新

不要下拉刷新直接不用它不就完了 或者试试setEnabled(false

Google提供了一个官方的下拉刷新控件SwipeRefreshLayout,个人感觉还不错!见惯了传统的下拉刷新,这个反而给人耳目一新的感觉(Gmail邮箱已经使用这种下拉刷新了)。

SwipeRefreshLayout在V4包下,对应的V4 Demo中也有相应的例子。

SwipeRefreshLayout只能有一个直接子View,可能是一个ListView或一个Layout或其他需要刷新的组件。

setOnRefreshListener 用于监听刷新的动作。SwipeRefreshLayout 下拉,就会有刷新的效果出来,触发该监听。

如果需要一个刷新的动画,setRefreshing(true), 停: setRefreshing(false)

如果要禁用刷新动画和手势响应,ssetEnable(false),恢复:setEnable(true)

Google也在官方网站给出了V4的兼容包:

Ⅷ android swiperefreshlayout怎么禁止下拉刷新

不要下拉刷新直接不用它不就完了


或者试试setEnabled(false
Google提供了一个官方的下拉刷新控件SwipeRefreshLayout,个人感觉还不错!见惯了传统的下拉刷新,这个反而给人耳目一新的感觉(Gmail邮箱已经使用这种下拉刷新了)。
SwipeRefreshLayout在V4包下,对应的V4
Demo中也有相应的例子。
SwipeRefreshLayout只能有一个直接子View,可能是一个ListView或一个Layout或其他需要刷新的组件。
setOnRefreshListener
用于监听刷新的动作。SwipeRefreshLayout
下拉,就会有刷新的效果出来,触发该监听。
如果需要一个刷新的动画,setRefreshing(true),
停:
setRefreshing(false)
如果要禁用刷新动画和手势响应,ssetEnable(false),恢复:setEnable(true)
Google也在官方网站给出了V4的兼容包:
相关API如下:

Ⅸ Android SwipeRefreshLayout刷新卡顿问题

网页链接网页链接

附上链接,大哥小事搜网络,大事搜网络,再大点搜Google。

用搜不用问,是一个程序员基本的规范

Ⅹ Android 控件smartRefeshLayout只要下拉刷新,禁止上拉加载

一.导入依赖

在app-mole中添加RecycleView和SmartRefreshLayout的依赖

//recyclerview implementation 'com.android.support:recyclerview-v7:26.1.0' implementation 'com.android.support:design:26.1.0' //SmartRefreshLayout implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.4-7' implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.4-7'

二.在mainActivity中添加xml布局

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.freshdemo.MainActivity"android:orientation="vertical"><com.scwang.smartrefresh.layout.SmartRefreshLayoutandroid:id="@+id/refreshLayout"android:layout_width="match_parent"android:layout_height="match_parent"app:srlAccentColor="#00000000"app:srlPrimaryColor="#00000000"app:srlEnablePreviewInEditMode="true"><android.support.v7.widget.RecyclerViewandroid:id="@+id/rv"android:layout_width="match_parent"android:layout_height="match_parent"/></com.scwang.smartrefresh.layout.SmartRefreshLayout></LinearLayout>

这是SmartRefreshLayout的基本布局,其中:

app:srlAccentColor="#00000000"//设置Header主题颜色 app:srlPrimaryColor="#00000000"//设置Footer主题颜色 app:srlEnablePreviewInEditMode="true"//开启和关闭预览功能

三.MainActivity中初始化和刷新加载事件

private RecyclerView mRecyclerView; private RefreshLayout mRefreshLayout; //初始化 mRecyclerView=findViewById(R.id.rv); mRefreshLayout = findViewById(R.id.refreshLayout); //刷新 mRefreshLayout.setOnRefreshListener(new OnRefreshListener() { @Override public void onRefresh(RefreshLayout refreshlayout) { mData.clear(); mNameAdapter.notifyDataSetChanged(); refreshlayout.finishRefresh(); } }); //加载更多 mRefreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() { @Override public void onLoadmore(RefreshLayout refreshlayout) { for(int i=0;i<30;i++){ mData.add("小明"+i); } mNameAdapter.notifyDataSetChanged(); refreshlayout.finishLoadmore(); } });

四.运行效果

SmartRefreshLayout运行的默认效果如下


image.png


他们的包路径是:

com.scwang.smartrefresh.header.BezierCircleHeadercom.scwang.smartrefresh.header.DeliveryHeader//以下类似,在此省略//......

六.自定义Header和Footer

当然SmartRefreshLayout还支持自定义Header和Footer
具体可以参考官网中的自定义Header

SmartRefreshLayout关于属性这一块也是有很多可以设置的,大家依然可以去SmartRefreshLayout官网查看更多使用细则,这里就不展开讲解了

今天就讲到这里了,谢谢大家。

阅读全文

与androidlayout刷新相关的资料

热点内容
flash编程书籍推荐 浏览:835
php获得数组键值 浏览:401
香港云服务器操作 浏览:303
wpe最新源码 浏览:857
自己购买云主服务器推荐 浏览:422
个人所得税java 浏览:761
多余的服务器滑道还有什么用 浏览:192
pdf劈开合并 浏览:29
不能修改的pdf 浏览:752
同城公众源码 浏览:489
一个服务器2个端口怎么映射 浏览:298
java字符串ascii码 浏览:79
台湾云服务器怎么租服务器 浏览:475
旅游手机网站源码 浏览:332
android关联表 浏览:946
安卓导航无声音怎么维修 浏览:333
app怎么装视频 浏览:431
安卓系统下的软件怎么移到桌面 浏览:96
windows拷贝到linux 浏览:772
mdr软件解压和别人不一样 浏览:904