标签: pull-to-refresh

如何实现Android Pull-to-Refresh

在Twitter(官方应用程序)等Android应用程序中,当您遇到ListView时,可以将其拉下(并在发布时它会反弹)以刷新内容.

我想知道在您看来,实施该方法的最佳方式是什么?

我能想到的一些可能性:

  1. ListView顶部的项目 - 但我不认为在ListView上使用动画滚动回项目位置1(从0开始)是一项简单的任务.
  2. ListView之外的另一个视图 - 但我需要注意在拉动时向下移动ListView位置,我不确定我们是否可以检测到ListView的拖动是否仍然真正滚动ListView上的项目.

有什么建议?

PS我想知道官方Twitter应用程序源代码何时发布.有人提到它会被释放,但已经过去了6个月,从那时起我们就没有听说过.

android listview android-listview pull-to-refresh

414
推荐指数
9
解决办法
21万
查看次数

无需UITableViewController即可刷新UITableView

我正在尝试在UIViewController中的UITableView中实现一个pull to refresh功能.我不能使用UITableViewController,因为我希望UITableView在视图控制器中是一个较小的子视图,上面还有一些其他东西.我认为这是可能的,但有没有人看过它的实现?

iphone objective-c uitableview ios pull-to-refresh

179
推荐指数
2
解决办法
8万
查看次数

UICollectionViewController中的Pull-to-refresh

我想UICollectionViewController在iOS 6下实现pull-down-to-refresh .这很容易实现UITableViewController,如下所示:

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(startRefresh:)
    forControlEvents:UIControlEventValueChanged];
self.refreshControl = refreshControl;
Run Code Online (Sandbox Code Playgroud)

以上实现了一个漂亮的液滴动画作为本机小部件的一部分.

由于UICollectionViewController"更加进化",UITableViewController人们会期待某种功能的奇偶性,但我无法在任何地方找到参考来实现这一点的内置方式.

  1. 有一种简单的方法可以做到这一点,我忽略了吗?
  2. 可以UIRefreshControl用某种方式使用UICollectionViewController,尽管报头和文档都指出它的意思与表视图中使用?

uikit ios6 pull-to-refresh

73
推荐指数
3
解决办法
3万
查看次数

永久设置UITableView内容

在我的应用程序中,我有一个UISearchBarunder,UINavigationBar因此它始终对用户可见.在这种情况下,我必须设置contentInset额外的44px,因此UIScrollView将滚动UISearchBar (完全像在Contacts.app中).静态UITableView的没有问题,但在我的情况下,我必须重新加载它的内容,切换到UISearchDisplayController等等.所以当我打电话时:

[self.tableView setContentInset:UIEdgeInsetsMake(108, 0, 0, 0)];
Run Code Online (Sandbox Code Playgroud)

一切都有效,直到我拉动刷新......(为此我使用SSPullToRefresh).

所以我的问题是:如何contentInset永久设置,以便我不必担心内部数据发生任何变化UITableView

objective-c uitableview uiscrollview ios pull-to-refresh

63
推荐指数
4
解决办法
12万
查看次数

如何禁用"拉动刷新"操作并仅使用指示器?

我使用了"启动刷新"到我的项目SwipeRefreshLayout.

当我向下移动时,出现加载指示器(材料设计样式).我知道,它必须如此工作,但我想禁用此功能,并通过单击某个按钮并使用SwipeRefreshLayout加载指示器开始刷新.

我怎么能这样做?

android pull-to-refresh swiperefreshlayout material-design

57
推荐指数
2
解决办法
3万
查看次数

iPhone拉下来像Tweetie一样刷新

我试图找到一个在正常可滚动区域之外的表视图上方放置元素的示例.我该怎么做?一个例子是iPhone的Tweetie 2应用程序用于刷新推文.

示例代码非常有用.

iphone uitableview pull-to-refresh

44
推荐指数
2
解决办法
4万
查看次数

拉动刷新recyclerview android

嗨,我有一个标签式活动,在第一个标签中,我从服务器获取数据并在卡片视图中的Recyclerview中显示.要从服务器获取数据,我使用排球库.我想实现Pull to refresh来加载数据(所以每当我拉它就必须向网络发出请求).我还希望每当我在标签之间切换时禁用网络请求(因为当我在我的应用程序中更改标签焦点时它开始获取数据)我只想做一次网络请求(当用户第一次登录时)然后其他人请求仅通过拉动刷新.

这是我的片段,我在这里回收并查看数据:

public class Tab1History extends Fragment
{

private RecyclerView recyclerView;
private CespiteAdapter adapter;
UserSessionManager session;

private static final String URL_DATA = "http://mydata.php";

private List<CespiteOgg> cespiteOggList;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState)
{

    View rootView = inflater.inflate(R.layout.tab1history, container, false);

    recyclerView = (RecyclerView) rootView.findViewById(R.id.my_recycler_view);
    recyclerView.setHasFixedSize(true);//every item of the RecyclerView has a fix size
    recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));

    cespiteOggList = new ArrayList<>();

    loadRecyclerViewData();

            return rootView;
}

private void loadRecyclerViewData()
{
    // Session class instance
    session = new UserSessionManager(getActivity());
    //get …
Run Code Online (Sandbox Code Playgroud)

android android-fragments pull-to-refresh android-volley android-cardview

44
推荐指数
3
解决办法
5万
查看次数

像gmail new(4.5)应用程序一样刷新

在新的gmail应用程序(4.5)中,刷新是通过操作栏中的"Pull-to-Refresh"操作完成的:

在此输入图像描述

在此输入图像描述

我在哪里可以找到有关"Pull-to-Refresh"的更多信息?

gmail android android-actionbar pull-to-refresh

33
推荐指数
1
解决办法
2万
查看次数

如何在新的GMail应用程序中实现"向下刷卡"

谷歌发布了新的Gmail应用程序,以另一种方式处理下拉刷新.

而不是显示已下拉的已启动隐藏行.Gmail会在操作栏上方显示动画消息.

该消息包括动画水平线.

这是Android SDK的标准功能吗?我在动作栏API中找不到任何可以执行此操作的内容.

在此输入图像描述

android android-listview pull-to-refresh

33
推荐指数
3
解决办法
4万
查看次数

动画UIScrollView contentInset会导致跳转卡顿

我实现了自定义刷新控件(我自己的类,而不是子类),并且由于某些原因,因为移动到iOS 8,设置滚动视图的contentInset(特别是UICollectionView)以启动刷新动画会导致奇怪的跳转/断断续续.这是我的代码:

- (void)containingScrollViewDidScroll:(UIScrollView *)scrollView
{
    CGFloat scrollPosition = scrollView.contentOffset.y + scrollView.contentInset.top;

    if( scrollPosition > 0 || self.isRefreshing )
    {
        return;
    }

    CGFloat percentWidth = fabs( scrollPosition ) / self.frame.size.height / 2;

    CGRect maskFrame = self.maskLayer.frame;

    maskFrame.size.width = self.imageLayer.frame.size.width * percentWidth;

    [CATransaction begin];
    [CATransaction setValue:(id)kCFBooleanTrue forKey:kCATransactionDisableActions];
    self.maskLayer.frame = maskFrame;
    [CATransaction commit];
}

- (void)containingScrollViewDidEndDragging:(UIScrollView *)scrollView
{
    if( ( self.maskLayer.frame.size.width >= self.imageLayer.frame.size.width ) && !self.isRefreshing )
    {
        self.isRefreshing = YES;
        [self setLoadingScrollViewInsets:scrollView];
        [self startAnimation];
        [self sendActionsForControlEvents:UIControlEventValueChanged];
    }
}

- (void)setLoadingScrollViewInsets:(UIScrollView *)scrollView …
Run Code Online (Sandbox Code Playgroud)

uiscrollview ios uicollectionview pull-to-refresh

30
推荐指数
2
解决办法
2万
查看次数