tm


javaCompileOptions {
    annotationProcessorOptions {
        includeCompileClasspath true
    }
}
android.enableAapt2=false
package com.example.six;

import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.example.six.animee.AnimationFragment;
import com.example.six.custom.ViewFragment;
import com.example.six.net.NetFragment;

import java.util.ArrayList;
import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;

public class MainActivity extends AppCompatActivity {
    @BindView(R.id.main_tab)
    TabLayout tabLayout;
    @BindView(R.id.main_vp)
    ViewPager viewPager;

    List<String>titleList = new ArrayList<>();
    List<Fragment>fragmentList = new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        initPager();
    }
    /**
     * 初始化ViewPager页面
     * */
    private void initPager() {
        titleList.add("动画");
        titleList.add("自定义控件");
        titleList.add("网络数据");

        fragmentList.add(new AnimationFragment());
        fragmentList.add(new ViewFragment());
        fragmentList.add(new NetFragment());

        MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager(), titleList, fragmentList);
        viewPager.setAdapter(adapter);

        tabLayout.setupWithViewPager(viewPager);
    }
}
package com.example.six;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import java.util.List;

/**
 * Created by Administrator on 2018/4/4.
 */

public class MyPagerAdapter extends FragmentPagerAdapter{
    private List<String>titleList;
    private List<Fragment>fragmentList;

    public MyPagerAdapter(FragmentManager fm, List<String> titleList, List<Fragment> fragmentList) {
        super(fm);
        this.titleList = titleList;
        this.fragmentList = fragmentList;
    }

    @Override
    public Fragment getItem(int position) {
        return fragmentList.get(position);
    }

    @Override
    public int getCount() {
        return fragmentList.size();
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return titleList.get(position);
    }
}
//动画
package com.example.six.animee;


import android.animation.ObjectAnimator;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;


import com.example.six.R;

import butterknife.BindView;
import butterknife.ButterKnife;

/**
 * A simple {@link Fragment} subclass.
 */
public class AnimationFragment extends Fragment implements View.OnClickListener{
    @BindView(R.id.btn_alpha)
    Button alphaBtn;
    @BindView(R.id.btn_scale)
    Button scaleBtn;
    @BindView(R.id.btn_rotate)
    Button rotateBtn;
    @BindView(R.id.btn_tran)
    Button tranBtn;
    @BindView(R.id.anime_iv)
    ImageView iv;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view= inflater.inflate(R.layout.fragment_animation, container, false);
        ButterKnife.bind(this,view);
        alphaBtn.setOnClickListener(this);
        scaleBtn.setOnClickListener(this);
        tranBtn.setOnClickListener(this);
        rotateBtn.setOnClickListener(this);
        return view;
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.btn_alpha:
                ObjectAnimator alpha = ObjectAnimator.ofFloat(iv, "alpha", 1.0f, 0.5f);
                alpha.setDuration(2000);
                alpha.start();
                break;
            case R.id.btn_scale:
                ObjectAnimator scaleX = ObjectAnimator.ofFloat(iv, "scaleX", 1.0f, 2.0f);
                scaleX.setDuration(2000);
                scaleX.start();
                break;
            case R.id.btn_tran:
                ObjectAnimator translationY = ObjectAnimator.ofFloat(iv, "translationY", 0, 300);
                translationY.setDuration(2000);
                translationY.start();
                break;
            case R.id.btn_rotate:
                ObjectAnimator rotation = ObjectAnimator.ofFloat(iv, "rotation", 0, 180, 180, 0);
                rotation.setDuration(2000);
                rotation.start();
                break;
        }
    }
}
//自定义
package com.example.six.custom;

import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.example.six.R;


/**
 * Created by Administrator on 2018/4/4.
 */

public class TitleView extends RelativeLayout{
    RelativeLayout layout;
    TextView centerTv,leftTv,rightTv;
    ImageView leftIv,rightIv;
    public TitleView(Context context, AttributeSet attrs) {
        super(context, attrs);
        LayoutInflater.from(context).inflate(R.layout.title_layout,this);
        layout =   findViewById(R.id.title_layout);
        centerTv = (TextView) findViewById(R.id.center_tv);
        leftTv = (TextView) findViewById(R.id.left_tv);
        rightTv = (TextView) findViewById(R.id.right_tv);
        leftIv = (ImageView) findViewById(R.id.left_iv);
        rightIv = (ImageView) findViewById(R.id.right_iv);
//      自定义属性
        TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.TitleView);
        int bgColor = typedArray.getColor(R.styleable.TitleView_bgColor, Color.BLUE);
        layout.setBackgroundColor(bgColor);
        String title = typedArray.getString(R.styleable.TitleView_titleText);
        centerTv.setText(title);
        int centercolor = typedArray.getColor(R.styleable.TitleView_titleTextColor, Color.WHITE);
        centerTv.setTextColor(centercolor);

        boolean b = typedArray.getBoolean(R.styleable.TitleView_leftIvVisiable, true);
        setLeftIvVisiable(b);

        boolean b2 = typedArray.getBoolean(R.styleable.TitleView_rightIvVisiable, true);
        setRightIvVisiable(b2);

        boolean b3 = typedArray.getBoolean(R.styleable.TitleView_leftTvVisiable, false);
        setLeftTvVisiable(b3);

        boolean b4 = typedArray.getBoolean(R.styleable.TitleView_rightTvVisiable, false);
        setRightTvVisiable(b4);

        int leftColor = typedArray.getColor(R.styleable.TitleView_leftTextColor, Color.WHITE);
        leftTv.setTextColor(leftColor);

        int rightcolor = typedArray.getColor(R.styleable.TitleView_rightTextColor, Color.WHITE);
        rightTv.setTextColor(rightcolor);

        int leftId = typedArray.getResourceId(R.styleable.TitleView_leftIvRes, R.mipmap.icon_title_bar_filter_focus);
        leftIv.setImageResource(leftId);

        int rightId = typedArray.getResourceId(R.styleable.TitleView_rightIvRes, R.mipmap.icon_title_bar_filter_focus);
        rightIv.setImageResource(rightId);
        
//        回收属性
        typedArray.recycle();
    }

//    设置中心标题的内容
    public void setTitleText(String msg){
        centerTv.setText(msg);
    }
//    设置左边的内容
    public void setLeftText(String msg){
        leftTv.setText(msg);
    }
//    设置右边的内容
    public void setRightText(String msg){
        rightTv.setText(msg);
    }
//    设置左边的图片是否显示
    public void setLeftIvVisiable(boolean b){
        if (b) {
            leftIv.setVisibility(VISIBLE);
        }else{
            leftIv.setVisibility(INVISIBLE);
        }
    }

//    设置右边的图片是否显示
    public void setRightIvVisiable(boolean b){
        if (b) {
            rightIv.setVisibility(VISIBLE);
        }else{
            rightIv.setVisibility(INVISIBLE);
        }
    }

//    设置左边的文字是否显示
    public void setLeftTvVisiable(boolean b){
        if (b) {
            leftTv.setVisibility(VISIBLE);
        }else{
            leftTv.setVisibility(INVISIBLE);
        }
    }
//    设置右边的文字是否显示
    public void setRightTvVisiable(boolean b){
        if (b) {
            rightTv.setVisibility(VISIBLE);
        }else{
            rightTv.setVisibility(INVISIBLE);
        }
    }
//    设置布局的颜色
    public void setBgColor(int color){
        layout.setBackgroundColor(color);
    }

}
package com.example.six.custom;


import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.six.R;


/**
 * A simple {@link Fragment} subclass.
 */
public class ViewFragment extends Fragment {


    public ViewFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_view, container, false);
    }

}
//网络
package com.example.six.net;

import java.io.IOException;

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

/**
 * Created by Administrator on 2018/4/4.
 */

public class HttpUtils {

    public static String getStringContent(String path){
        OkHttpClient client = new OkHttpClient();  //客户端对象
//        获得请求对象
        Request request = new Request.Builder().get().url(path).build();
        try {
//            发起请求,获取响应对象
            Response response = client.newCall(request).execute();
            if (response.isSuccessful()) {
                String s = response.body().string();
                return s;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}
package com.example.six.net;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;


import com.example.six.R;
import com.squareup.picasso.Picasso;

import java.util.List;

/**
 * Created by Administrator on 2018/4/4.
 */

public class NetAdapter extends RecyclerView.Adapter<NetAdapter.NetViewHolder>{
    private Context context;
    private List<NetBean.ArticleListBean>mDatas;

    public NetAdapter(Context context, List<NetBean.ArticleListBean> mDatas) {
        this.context = context;
        this.mDatas = mDatas;
    }

    @Override
    public NetViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_net, parent, false);
        NetViewHolder holder = new NetViewHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(NetViewHolder holder, int position) {
        NetBean.ArticleListBean bean = mDatas.get(position);
        holder.tv.setText(bean.getTitle());
//        显示图片
        Picasso.with(context).load(bean.getImgUrl()).into(holder.iv);
    }

    @Override
    public int getItemCount() {
        return mDatas.size();
    }

    class NetViewHolder extends RecyclerView.ViewHolder{
        ImageView iv;
        TextView tv;
        public NetViewHolder(View itemView) {
            super(itemView);
            iv = (ImageView) itemView.findViewById(R.id.item_net_iv);
            tv = (TextView) itemView.findViewById(R.id.item_net_tv);
        }
    }
}
package com.example.six.net;

import java.util.List;

/**
 * Created by Administrator on 2018/4/4.
 */

public class NetBean {

    /**
     * topicRecommendList : [{"headImgUrl":"http://img.moviebase.cn/img/trecommend/2017/10/6629de7abce84b56b916366bc07576c0.jpg@480w","imgUrl":"http://img.moviebase.cn/img/topic/2017/09/b9add2d4aa2d448aa260664e4401a6ba.jpg@!2x.webp","id":"44e9ea47bbd8401590d9a8ae3a3b283b","title":"北美新片","desc":"来自米国院线的最新票房和口碑","isSub":"0","recommendImgUrl":"http://img.moviebase.cn/img/trecommend/2017/10/6629de7abce84b56b916366bc07576c0.jpg@484w","isSubscribe":0,"subscribeNum":2616,"articlesNum":58},{"headImgUrl":"http://img.moviebase.cn/img/topic/2016/10/3a5198f10d074955884995f884ff9403.jpeg@480w","imgUrl":"http://img.moviebase.cn/img/topic/2016/10/6b51c0dbd39641bb90f4058388b24cde.jpeg@!2x.webp","id":"7d99c3dbe09c4d7a94a21708f5db127c","title":"行业观察","desc":"追踪影视热点,揭秘行业内幕","isSub":"0","recommendImgUrl":"http://img.moviebase.cn/img/topic/2016/10/3a5198f10d074955884995f884ff9403.jpeg@484w","isSubscribe":0,"subscribeNum":2809,"articlesNum":582},{"headImgUrl":"http://img.moviebase.cn/img/trecommend/2017/09/93c41c4244c34fa1bc5ce64e3d7c7b36.jpg@480w","imgUrl":"http://img.moviebase.cn/img/topic/2017/09/cf778b9124b24a85ad9ee69d11100618.jpg@!2x.webp","id":"78cc04335e034788a729a4145ff23a97","title":"热映快评","desc":"影院新片,你怎么看?","isSub":"0","recommendImgUrl":"http://img.moviebase.cn/img/trecommend/2017/09/93c41c4244c34fa1bc5ce64e3d7c7b36.jpg@484w","isSubscribe":0,"subscribeNum":2700,"articlesNum":86}]
     * retCode : 0
     * topicSubscribeUpdateNum : 0
     * topicSubscribeUpdateList :
     * requestId : db060f2c-9921-4f39-bece-18dfde06f998
     * retMsg :
     * authorList : [{"id":"0185e0a334e54866bcc423322c02e217","logo":"http://img.moviebase.cn/img/other/2017/09/79174c2dabc94f89983488c09de74e78.jpg@130w","nickname":"手动贩卖机","description":"人不如机器。"},{"id":"4d9e800196cc42b192cec8b914b035f6","logo":"http://img.moviebase.cn/img/other/2017/09/4184a1ba3b12440f86ef6d5ae4cce9aa.jpg@130w","nickname":"坨坨肉","description":"情色电影/Cult片爱好者"},{"id":"6560d69aafc54d45be991b067afca113","logo":"http://img.moviebase.cn/img/other/2017/08/144ad6ffe4bb4d1e940d6291c029aca2.png@130w","nickname":"咸鱼","description":"冷却了CD残了血,在你面前浪来浪去"}]
     * sourceList : [{"id":"19f2cd89ca904eb69e51f7d6e8a1e679","logo":"http://img.moviebase.cn/img/source/2018/02/c526cc8be95944399a68197c778ee1ab.png@130w","nickname":"巴塞电影","description":"资深电影编辑团队每日为你更新最有品、有料、原创、独家的电影资讯和深度解读。公众号:MovieBase"},{"id":"1700d5e8ba284c30bb4474882d10be8f","logo":"http://img.moviebase.cn/img/source/2018/02/ac0e844d31884a29a289b0e00bf2018b.gif","nickname":"枪稿","description":""},{"id":"3bad3b5588af4002a44383453cc2d862","logo":"http://img.moviebase.cn/img/source/2016/02/b0571f61b1a44fb88d83165299adc3d7.jpeg@130w","nickname":"库布里克的小丑","description":"与其赏析电影,不如享受电影。坚持原创,有时很正经,有时很邪恶~"}]
     * articleList : [{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/bc1df537a3a540228075e050bb20668c.jpg@353w","id":"0677ba5d32d34ed09c66b5bf8c699edb","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-0677ba5d32d34ed09c66b5bf8c699edb.html?appVersion=1.7.0","pubDate":1520931197,"praiseCount":"54","title":"人间是否已耳聋?20年后,再听1998华语流行神曲","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/bc1df537a3a540228075e050bb20668c.jpg@353w","careateDate":1520913387,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-0677ba5d32d34ed09c66b5bf8c699edb.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/ee7507cd3f304cbe9a8a494b8e54c1a9.jpg@353w","id":"5c0c74ee-9862-40d1-8a40-519dfa2ce338","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-5c0c74ee-9862-40d1-8a40-519dfa2ce338.html?appVersion=1.7.0","pubDate":1521000001,"praiseCount":"50","title":"如果你一生只和一个人做过爱......","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/ee7507cd3f304cbe9a8a494b8e54c1a9.jpg@353w","careateDate":1520994795,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-5c0c74ee-9862-40d1-8a40-519dfa2ce338.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/84448f30aa8242e58502acd20c860adf.jpeg@353w","id":"7843f1d8917c42d9a227e9aab6a156eb","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-7843f1d8917c42d9a227e9aab6a156eb.html?appVersion=1.7.0","pubDate":1521101366,"praiseCount":"31","title":"《水形物语》上映了,打卡必备指南了解一下?","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/84448f30aa8242e58502acd20c860adf.jpeg@353w","careateDate":1521081695,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-7843f1d8917c42d9a227e9aab6a156eb.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/4876b3446c1545b98e6328a215839684.png@353w","id":"04dc6b7b3c9d4aad96d3c01859e5fcc9","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-04dc6b7b3c9d4aad96d3c01859e5fcc9.html?appVersion=1.7.0","pubDate":1521111125,"praiseCount":"30","title":"《雷神3》的逗比导演,不做\u201c石头\u201d\u201c兔纸\u201d","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/4876b3446c1545b98e6328a215839684.png@353w","careateDate":1521096947,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-04dc6b7b3c9d4aad96d3c01859e5fcc9.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/b2d5e7208e8b4d7e8792c4b4b895adc6.jpeg@353w","id":"0509889d41cb4d88b10428d3bc128614","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-0509889d41cb4d88b10428d3bc128614.html?appVersion=1.7.0","pubDate":1521127450,"praiseCount":"38","title":"《大小谎言》卡司薪水大涨,好莱坞男女薪资平等的时代也许即将到来","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/b2d5e7208e8b4d7e8792c4b4b895adc6.jpeg@353w","careateDate":1521109421,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-0509889d41cb4d88b10428d3bc128614.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/62c76e3adf3540438cc34740591ece32.jpg@353w","id":"385695a8-4f79-435c-af72-89d42f6212ee","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-385695a8-4f79-435c-af72-89d42f6212ee.html?appVersion=1.7.0","pubDate":1521190800,"praiseCount":"35","title":"大型运动色情片,普京主演","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/62c76e3adf3540438cc34740591ece32.jpg@353w","careateDate":1521143137,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-385695a8-4f79-435c-af72-89d42f6212ee.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/219d22e0258949fda1c4f4d466cdaeb7.png@353w","id":"e08f3ac320014e51ae6b12f21bfb3ff7","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-e08f3ac320014e51ae6b12f21bfb3ff7.html?appVersion=1.7.0","pubDate":1521086401,"praiseCount":"39","title":"这部韩国喜剧全程高能,看的时候千万别喝水","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/219d22e0258949fda1c4f4d466cdaeb7.png@353w","careateDate":1521019162,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-e08f3ac320014e51ae6b12f21bfb3ff7.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/369befac36c44ddaa1b1172136fcfe33.gif","id":"462a4b4a07244e05a91b8acabf9afd15","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-462a4b4a07244e05a91b8acabf9afd15.html?appVersion=1.7.0","pubDate":1521127443,"praiseCount":"54","title":"有流量就能拍电影?小花们的电影谁来买单?","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/369befac36c44ddaa1b1172136fcfe33.gif","careateDate":1521107453,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-462a4b4a07244e05a91b8acabf9afd15.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/4ad6ebf78ab14143a959da3fb2df861c.png@353w","id":"1e0ca36fc43745f3a186d6cdf60f74ac","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-1e0ca36fc43745f3a186d6cdf60f74ac.html?appVersion=1.7.0","pubDate":1521172801,"praiseCount":"46","title":"让你们看看即将上映的《犬之岛》鲜血淋漓的原型","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/4ad6ebf78ab14143a959da3fb2df861c.png@353w","careateDate":1521108941,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-1e0ca36fc43745f3a186d6cdf60f74ac.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"},{"imgUrl":"http://img.moviebase.cn/img/poster/2018/03/e2778b7170bc435bb0683205d1637c98.gif","id":"21846954b0c4437bbbd4bbb692d53f7a","articleContentUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-21846954b0c4437bbbd4bbb692d53f7a.html?appVersion=1.7.0","pubDate":1521277202,"praiseCount":"55","title":"每周只能做7秒!101分钟的动画就这么硬肝出来的","description":"","sourceName":"巴塞电影","image":"http://img.moviebase.cn/img/poster/2018/03/e2778b7170bc435bb0683205d1637c98.gif","careateDate":1521197851,"articleUrl":"http://www.moviebase.cn/uread/app/viewArt/viewArt-21846954b0c4437bbbd4bbb692d53f7a.html?appVersion=1.7.0","sourceId":"19f2cd89ca904eb69e51f7d6e8a1e679"}]
     * articleSubscribeUpdateNum : 0
     */

    private int retCode;
    private int topicSubscribeUpdateNum;
    private String topicSubscribeUpdateList;
    private String requestId;
    private String retMsg;
    private int articleSubscribeUpdateNum;
    private List<TopicRecommendListBean> topicRecommendList;
    private List<AuthorListBean> authorList;
    private List<SourceListBean> sourceList;
    private List<ArticleListBean> articleList;

    public int getRetCode() {
        return retCode;
    }

    public void setRetCode(int retCode) {
        this.retCode = retCode;
    }

    public int getTopicSubscribeUpdateNum() {
        return topicSubscribeUpdateNum;
    }

    public void setTopicSubscribeUpdateNum(int topicSubscribeUpdateNum) {
        this.topicSubscribeUpdateNum = topicSubscribeUpdateNum;
    }

    public String getTopicSubscribeUpdateList() {
        return topicSubscribeUpdateList;
    }

    public void setTopicSubscribeUpdateList(String topicSubscribeUpdateList) {
        this.topicSubscribeUpdateList = topicSubscribeUpdateList;
    }

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    public String getRetMsg() {
        return retMsg;
    }

    public void setRetMsg(String retMsg) {
        this.retMsg = retMsg;
    }

    public int getArticleSubscribeUpdateNum() {
        return articleSubscribeUpdateNum;
    }

    public void setArticleSubscribeUpdateNum(int articleSubscribeUpdateNum) {
        this.articleSubscribeUpdateNum = articleSubscribeUpdateNum;
    }

    public List<TopicRecommendListBean> getTopicRecommendList() {
        return topicRecommendList;
    }

    public void setTopicRecommendList(List<TopicRecommendListBean> topicRecommendList) {
        this.topicRecommendList = topicRecommendList;
    }

    public List<AuthorListBean> getAuthorList() {
        return authorList;
    }

    public void setAuthorList(List<AuthorListBean> authorList) {
        this.authorList = authorList;
    }

    public List<SourceListBean> getSourceList() {
        return sourceList;
    }

    public void setSourceList(List<SourceListBean> sourceList) {
        this.sourceList = sourceList;
    }

    public List<ArticleListBean> getArticleList() {
        return articleList;
    }

    public void setArticleList(List<ArticleListBean> articleList) {
        this.articleList = articleList;
    }

    public static class TopicRecommendListBean {
        /**
         * headImgUrl : http://img.moviebase.cn/img/trecommend/2017/10/6629de7abce84b56b916366bc07576c0.jpg@480w
         * imgUrl : http://img.moviebase.cn/img/topic/2017/09/b9add2d4aa2d448aa260664e4401a6ba.jpg@!2x.webp
         * id : 44e9ea47bbd8401590d9a8ae3a3b283b
         * title : 北美新片
         * desc : 来自米国院线的最新票房和口碑
         * isSub : 0
         * recommendImgUrl : http://img.moviebase.cn/img/trecommend/2017/10/6629de7abce84b56b916366bc07576c0.jpg@484w
         * isSubscribe : 0
         * subscribeNum : 2616
         * articlesNum : 58
         */

        private String headImgUrl;
        private String imgUrl;
        private String id;
        private String title;
        private String desc;
        private String isSub;
        private String recommendImgUrl;
        private int isSubscribe;
        private int subscribeNum;
        private int articlesNum;

        public String getHeadImgUrl() {
            return headImgUrl;
        }

        public void setHeadImgUrl(String headImgUrl) {
            this.headImgUrl = headImgUrl;
        }

        public String getImgUrl() {
            return imgUrl;
        }

        public void setImgUrl(String imgUrl) {
            this.imgUrl = imgUrl;
        }

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getDesc() {
            return desc;
        }

        public void setDesc(String desc) {
            this.desc = desc;
        }

        public String getIsSub() {
            return isSub;
        }

        public void setIsSub(String isSub) {
            this.isSub = isSub;
        }

        public String getRecommendImgUrl() {
            return recommendImgUrl;
        }

        public void setRecommendImgUrl(String recommendImgUrl) {
            this.recommendImgUrl = recommendImgUrl;
        }

        public int getIsSubscribe() {
            return isSubscribe;
        }

        public void setIsSubscribe(int isSubscribe) {
            this.isSubscribe = isSubscribe;
        }

        public int getSubscribeNum() {
            return subscribeNum;
        }

        public void setSubscribeNum(int subscribeNum) {
            this.subscribeNum = subscribeNum;
        }

        public int getArticlesNum() {
            return articlesNum;
        }

        public void setArticlesNum(int articlesNum) {
            this.articlesNum = articlesNum;
        }
    }

    public static class AuthorListBean {
        /**
         * id : 0185e0a334e54866bcc423322c02e217
         * logo : http://img.moviebase.cn/img/other/2017/09/79174c2dabc94f89983488c09de74e78.jpg@130w
         * nickname : 手动贩卖机
         * description : 人不如机器。
         */

        private String id;
        private String logo;
        private String nickname;
        private String description;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getLogo() {
            return logo;
        }

        public void setLogo(String logo) {
            this.logo = logo;
        }

        public String getNickname() {
            return nickname;
        }

        public void setNickname(String nickname) {
            this.nickname = nickname;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }
    }

    public static class SourceListBean {
        /**
         * id : 19f2cd89ca904eb69e51f7d6e8a1e679
         * logo : http://img.moviebase.cn/img/source/2018/02/c526cc8be95944399a68197c778ee1ab.png@130w
         * nickname : 巴塞电影
         * description : 资深电影编辑团队每日为你更新最有品、有料、原创、独家的电影资讯和深度解读。公众号:MovieBase
         */

        private String id;
        private String logo;
        private String nickname;
        private String description;

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getLogo() {
            return logo;
        }

        public void setLogo(String logo) {
            this.logo = logo;
        }

        public String getNickname() {
            return nickname;
        }

        public void setNickname(String nickname) {
            this.nickname = nickname;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }
    }

    public static class ArticleListBean {
        /**
         * imgUrl : http://img.moviebase.cn/img/poster/2018/03/bc1df537a3a540228075e050bb20668c.jpg@353w
         * id : 0677ba5d32d34ed09c66b5bf8c699edb
         * articleContentUrl : http://www.moviebase.cn/uread/app/viewArt/viewArt-0677ba5d32d34ed09c66b5bf8c699edb.html?appVersion=1.7.0
         * pubDate : 1520931197
         * praiseCount : 54
         * title : 人间是否已耳聋?20年后,再听1998华语流行神曲
         * description :
         * sourceName : 巴塞电影
         * image : http://img.moviebase.cn/img/poster/2018/03/bc1df537a3a540228075e050bb20668c.jpg@353w
         * careateDate : 1520913387
         * articleUrl : http://www.moviebase.cn/uread/app/viewArt/viewArt-0677ba5d32d34ed09c66b5bf8c699edb.html?appVersion=1.7.0
         * sourceId : 19f2cd89ca904eb69e51f7d6e8a1e679
         */

        private String imgUrl;
        private String id;
        private String articleContentUrl;
        private int pubDate;
        private String praiseCount;
        private String title;
        private String description;
        private String sourceName;
        private String image;
        private int careateDate;
        private String articleUrl;
        private String sourceId;

        public String getImgUrl() {
            return imgUrl;
        }

        public void setImgUrl(String imgUrl) {
            this.imgUrl = imgUrl;
        }

        public String getId() {
            return id;
        }

        public void setId(String id) {
            this.id = id;
        }

        public String getArticleContentUrl() {
            return articleContentUrl;
        }

        public void setArticleContentUrl(String articleContentUrl) {
            this.articleContentUrl = articleContentUrl;
        }

        public int getPubDate() {
            return pubDate;
        }

        public void setPubDate(int pubDate) {
            this.pubDate = pubDate;
        }

        public String getPraiseCount() {
            return praiseCount;
        }

        public void setPraiseCount(String praiseCount) {
            this.praiseCount = praiseCount;
        }

        public String getTitle() {
            return title;
        }

        public void setTitle(String title) {
            this.title = title;
        }

        public String getDescription() {
            return description;
        }

        public void setDescription(String description) {
            this.description = description;
        }

        public String getSourceName() {
            return sourceName;
        }

        public void setSourceName(String sourceName) {
            this.sourceName = sourceName;
        }

        public String getImage() {
            return image;
        }

        public void setImage(String image) {
            this.image = image;
        }

        public int getCareateDate() {
            return careateDate;
        }

        public void setCareateDate(int careateDate) {
            this.careateDate = careateDate;
        }

        public String getArticleUrl() {
            return articleUrl;
        }

        public void setArticleUrl(String articleUrl) {
            this.articleUrl = articleUrl;
        }

        public String getSourceId() {
            return sourceId;
        }

        public void setSourceId(String sourceId) {
            this.sourceId = sourceId;
        }
    }
}
package com.example.six.net;


import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.six.R;
import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.List;

/**
 * A simple {@link Fragment} subclass.
 */
public class NetFragment extends Fragment {
    RecyclerView rv;
    List<NetBean.ArticleListBean> mDatas = new ArrayList<>();
    private NetAdapter adapter;
    String url = "http://www.moviebase.cn/uread/app/category/categoryList?platform=2&deviceId=A8C73E0D1ED1A2BED491C9238C8FD8A0&channelId=1003&appVersion=1.7.0";
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view =  inflater.inflate(R.layout.fragment_net, container, false);
        rv = (RecyclerView) view.findViewById(R.id.net_rv);
//        布局管理者
        LinearLayoutManager manager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
        rv.setLayoutManager(manager);
//        数据源
//        适配器
        adapter = new NetAdapter(getActivity(),mDatas);
        rv.setAdapter(adapter);
//        加载网络数据
        loadWebData();
        return view;
    }

    private void loadWebData() {
        new AsyncTask<Void,Void,String>(){
            @Override
            protected String doInBackground(Void... voids) {
                String content = HttpUtils.getStringContent(url);
                return content;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                if (s!=null&&!s.isEmpty()) {
                    Gson gson = new Gson();
                    NetBean netBean = gson.fromJson(s, NetBean.class);
                    List<NetBean.ArticleListBean> list = netBean.getArticleList();
                    mDatas.addAll(list);
                    adapter.notifyDataSetChanged();
                }

            }
        }.execute();
    }

}
<?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"
    android:orientation="vertical"
    tools:context="com.example.six.MainActivity">

    <android.support.design.widget.TabLayout
        android:id="@+id/main_tab"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:tabBackground="@color/colorPrimary"
        app:tabGravity="fill"
        app:tabIndicatorColor="@color/colorAccent"
        app:tabIndicatorHeight="2dp"
        app:tabMode="fixed"
        app:tabSelectedTextColor="@color/colorAccent"
        app:tabTextColor="#FFF" />

    <android.support.v4.view.ViewPager
        android:id="@+id/main_vp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></android.support.v4.view.ViewPager>

</LinearLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- TODO: Update blank fragment layout -->
    <ImageView
        android:id="@+id/anime_iv"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_centerInParent="true"
        android:src="@mipmap/ic_launcher" />
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <Button
            android:id="@+id/btn_alpha"
            android:text="透明度"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content" />
        <Button
            android:id="@+id/btn_scale"
            android:text="放缩"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content" />
        <Button
            android:id="@+id/btn_tran"
            android:text="平移"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content" />
        <Button
            android:id="@+id/btn_rotate"
            android:text="旋转"
            android:layout_weight="1"
            android:layout_width="0dp"
            android:layout_height="wrap_content" />
    </LinearLayout>
</RelativeLayout>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.six.net.NetFragment">

<!-- TODO: Update blank fragment layout -->
<android.support.v7.widget.RecyclerView
    android:id="@+id/net_rv"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

</FrameLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context="com.example.six.custom.ViewFragment">

    <!-- TODO: Update blank fragment layout -->
    <com.example.six.custom.TitleView
        android:id="@+id/title1"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        app:bgColor="#009900"
        app:titleText="标题1"></com.example.six.custom.TitleView>

    <com.example.six.custom.TitleView
        android:layout_width="match_parent"
        android:layout_height="60dp"
        app:titleText="标题2"
        android:layout_marginTop="10dp"
        app:bgColor="#009900"
        app:rightIvVisiable="false"></com.example.six.custom.TitleView>
    <com.example.six.custom.TitleView
        android:layout_width="match_parent"
        android:layout_height="60dp"
        app:titleText="标题3"
        app:bgColor="#990000"
        android:layout_marginTop="10dp"
        app:leftIvVisiable="false"
        app:rightIvVisiable="false"
        app:leftTvVisiable="true"
        app:rightTvVisiable="true">
    </com.example.six.custom.TitleView>
    <com.example.six.custom.TitleView
        android:layout_width="match_parent"
        android:layout_height="60dp"
        app:bgColor="#990000"
        android:layout_marginTop="10dp"
        app:titleText="标题4"
        app:leftIvVisiable="false"
        app:leftTvVisiable="true"
        app:rightIvRes="@mipmap/mail_folder_type_add_account"></com.example.six.custom.TitleView>

    <com.example.six.custom.TitleView
        android:layout_width="match_parent"
        android:layout_height="60dp"
        app:bgColor="#000099"
        android:layout_marginTop="10dp"
        app:titleText="标题5"
        app:leftIvVisiable="false"
        app:leftTvVisiable="true"
        app:leftTextColor="#FF0000"
        app:rightIvRes="@mipmap/mail_folder_type_add_account">

    </com.example.six.custom.TitleView>

    <com.example.six.custom.TitleView
        android:layout_width="match_parent"
        android:layout_height="60dp"
        app:bgColor="#000099"
        android:layout_marginTop="10dp"
        app:titleText="标题6"
        app:titleTextColor="#000"
        app:leftIvVisiable="false"
        app:leftTvVisiable="true"
        app:leftTextColor="#FF0000"
        app:rightIvRes="@mipmap/mail_folder_type_draft"></com.example.six.custom.TitleView>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <ImageView
        android:id="@+id/item_net_iv"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:src="@mipmap/ic_launcher"
        android:scaleType="centerCrop"
        android:layout_margin="5dp"/>
    <TextView
        android:id="@+id/item_net_tv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="#5e050e"
        android:text="裴浩宇"/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:id="@+id/title_layout"
    android:background="@color/colorPrimary">
    <TextView
        android:id="@+id/center_tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="标题一"
        android:textSize="22sp"
        android:textColor="#FFFFFF"
        android:layout_centerInParent="true"/>

    <ImageView
        android:id="@+id/left_iv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@mipmap/icon_title_bar_filter_focus"
        android:layout_centerVertical="true"
        android:layout_marginLeft="20dp"
        android:visibility="invisible"/>
    <TextView
        android:id="@+id/left_tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="左边"
        android:textColor="#FFF"
        android:layout_centerVertical="true"
        android:layout_marginLeft="20dp"
        android:textSize="18sp"/>

    <ImageView
        android:id="@+id/right_iv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@mipmap/icon_title_bar_filter_focus"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:layout_marginRight="20dp"
        android:visibility="invisible"/>

    <TextView
        android:id="@+id/right_tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="右边"
        android:textSize="18sp"
        android:textColor="#FFFFFF"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="20dp"/>
</RelativeLayout>
//valUESTC
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="TitleView">
        <attr name="bgColor" format="color"/>
        <attr name="titleText" format="string"/>
        <attr name="titleTextColor" format="color"/>
        <attr name="leftIvVisiable" format="boolean"/>
        <attr name="rightIvVisiable" format="boolean"/>
        <attr name="leftTvVisiable" format="boolean"/>
        <attr name="rightTvVisiable" format="boolean"/>
        <attr name="leftTextColor" format="color"/>
        <attr name="rightTextColor" format="color"/>
        <attr name="leftIvRes" format="reference"/>
        <attr name="rightIvRes" format="reference"/>
    </declare-styleable>
</resources>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值