Android工具栏中的刷新图标现在是否已被弃用(刷卡刷新'完全取代它)?

时间:2015-10-30 16:09:31

标签: android refresh material-design toolbar android-toolbar

我的问题更多的是从设计的角度来看,与材料设计理念有关。 所有最新的应用程序现在都可以完全依赖于滑动刷新 UX模式(如果可以应用它)(例如地图活动因为它们接管滑动手势而无法拥有它)?它是否被视为“old-school”在工具栏中放置一个刷新图标(图片中的ActionBar具有它的方式)?

enter image description here

因为我的应用向用户显示实时统计信息,我希望确保90%的用户能够立即知道如何刷新它们。

2 个答案:

答案 0 :(得分:2)

您可以将其替换为SwipeRefreshLayout

将此内容添加到您的xml文件中:

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/refreshLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ListView
        android:id="@+id/mList"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</android.support.v4.widget.SwipeRefreshLayout>

并向您java提交此文件:

 SwipeRefreshLayout mRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.refreshLayout);

    handler.postDelayed(refreshing, 100);

    mRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            // YOUR TASK HERE.
        }
    });

修改

为了让用户知道您的应用中有刷新,您可以使用此功能在每次应用打开时自动刷新:

private Handler handler = new Handler();


private final Runnable refreshing = new Runnable() {
    public void run() {
        mRefreshLayout.setRefreshing(true);
        try {
            if (mRefreshLayout.isRefreshing()) {
                // YOUR TASK HERE.
                handler.removeCallbacks(this);
            } else {
                mRefreshLayout.setRefreshing(false);
            }
        } catch (Exception e) {
            Log.e("", e.getMessage(), e);
        }
    }
};
onPreExecute()的任务中

添加此内容:

if (!mRefreshLayout.isRefreshing()) {
        mRefreshLayout.setRefreshing(true);
 }

并在onPostExecute()中添加:

mRefreshLayout.setRefreshing(false);
  

在定义handler.postDelayed(refreshing, 100);视图后,不要忘记SwipeRefreshLayout

答案 1 :(得分:1)

https://www.google.de/design/spec/patterns/swipe-to-refresh.html

  

或者,手动刷新方法要求用户通过操作或手势启动内容更新。

注意:动作或手势。

材料设计指南并没有禁止按钮,它根本就没有强调它。但如果它对你的应用程序来说是一个重要的动作,你当然应该使用它。

https://www.google.com/design/icons/#ic_refresh