zoukankan      html  css  js  c++  java
  • Android使用Dribble Api

    使用Dribble提供的Api获取上面的设计分享

    • 使用了Material Design、SceneTransitionAnimation
    • 使用了Volley Gson

    1. 申请Dribble开发者应用

    https://dribbble.com/account/applications/new

    申请成功之后,就会生成

    • Client ID
    • Client Secret
    • Client Access Token

    2. 使用Dribble的Api

    还可加page参数获取分页数据

    构建类似这样的数据

    public class DribbleShot{
        @SerializedName("animated")
        public Boolean mAnimated;
        @SerializedName("attachments_count")
        public Long mAttachmentsCount;
        @SerializedName("attachments_url")
        public String mAttachmentsUrl;
        @SerializedName("buckets_count")
        public Long mBucketsCount;
        @SerializedName("buckets_url")
        public String mBucketsUrl;
        @SerializedName("comments_count")
        public Long mCommentsCount;
        @SerializedName("comments_url")
        public String mCommentsUrl;
        @SerializedName("created_at")
        public String mCreatedAt;
        @SerializedName("description")
        public String mDescription;
        @SerializedName("height")
        public Long mHeight;
        @SerializedName("html_url")
        public String mHtmlUrl;
        @SerializedName("id")
        public Long mId;
        @SerializedName("images")
        public DribbleShotImages mDribbleShotImages;
        @SerializedName("likes_count")
        public Long mLikesCount;
        @SerializedName("likes_url")
        public String mLikesUrl;
        @SerializedName("projects_url")
        public String mProjectsUrl;
        @SerializedName("rebounds_count")
        public Long mReboundsCount;
        @SerializedName("rebounds_url")
        public String mReboundsUrl;
        @SerializedName("tags")
        public List<String> mTags;
        @SerializedName("team")
        public DribbleShotTeam mDribbleShotTeam;
        @SerializedName("title")
        public String mTitle;
        @SerializedName("updated_at")
        public String mUpdatedAt;
        @SerializedName("user")
        public DribbleShotUser mDribbleShotUser;
        @SerializedName("views_count")
        public Long mViewsCount;
        @SerializedName("width")
        public Long mWidth;
    }
    

    使用Volley获取数据,Gson解析

    private void getData() {
            final String shotUrl = "https://api.dribbble.com/v1/shots?access_token=" + DRIBBLE_Token;
            StringRequest request = new StringRequest(Request.Method.GET, shotUrl, new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Gson gson = new Gson();
                    Type type = new TypeToken<ArrayList<DribbleShot>>() {
                    }.getType();
                    dribbleShots = gson.fromJson(response, type);
                    //填充到list
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_SHORT).show();
                }
            });
            RequestQueue queue = Volley.newRequestQueue(context);
            queue.add(request);
       }
    

    3. Activity View转场动画

    1. 在跳转的Activity使用ActivityOptionsCompat.makeSceneTransitionAnimation()

      Intent intent = new Intent(context, ShotItemActivity.class);
      ActivityOptionsCompat optionsCompat = ActivityOptionsCompat.makeSceneTransitionAnimation(context, view, "TRASATION_ANIMATION");
                      ActivityCompat.startActivity(context, itent, optionsCompat.toBundle());
      
      • view 为发生转场动画的控件
    2. 在目标Activity使用ViewCompat.setTransitionName()设定转场动画的接收控件

      ViewCompat.setTransitionName(imageView, "TRASATION_ANIMATION");
      
      • 注意制定的TRANATION_ANIMATION需要保持一致。
  • 相关阅读:
    巧用boost库实现字符串映射消息处理函数
    Apache Continuum 1.3.6 GA 发布下载
    NetBeans 时事通讯(刊号 # 98 Apr 08, 2010)
    source insight
    vim 树形目录插件NERDTree安装及简单用法 心灵净土 博客频道 CSDN.NET
    Janus: Vim Distribution
    vim中的复制与粘贴 | WangYan BLog
    ctagsrevised
    vi的复制粘贴命令_简简单单_百度空间
    贴个自个用的vimrc zmlovelx(帅得不敢出门 c/c++群31843264) 博客频道 CSDN.NET
  • 原文地址:https://www.cnblogs.com/jiy-for-you/p/6906146.html
Copyright © 2011-2022 走看看