频道管理啊

创建alpha时需要勾选    ,然后删除xml配置infilter

Alpha布局

  android:id="@+id/alpha"
    android:background="@drawable/timg"

AlphaActivity

package bwie.com.toutiao2.ui.activity;

import android.content.Intent;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;

import bwie.com.toutiao2.R;
import bwie.com.toutiao2.base.BaseActivity;

public class AlphaActivity extends BaseActivity implements Animation.AnimationListener {


    private View alpha;

    @Override
    protected void setOnClickListen() {

    }

    @Override
    protected void initData() {
        AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1);
        alphaAnimation.setDuration(2000);
        alphaAnimation.setAnimationListener(this);
        alpha.setAnimation(alphaAnimation);
    }

    @Override
    protected void initView() {
        alpha = findViewById(R.id.alpha);
    }

    @Override
    protected void setQuanPing() {
        quanping();
    }

    @Override
    protected int initLayout() {
        return R.layout.activity_alpha;
    }

    @Override
    public void onAnimationStart(Animation animation) {

    }

    @Override
    public void onAnimationEnd(Animation animation) {
        startActivity(new Intent(AlphaActivity.this,MainActivity.class));
        finish();
    }

    @Override
    public void onAnimationRepeat(Animation animation) {

    }
}

//BaseActivity

package bwie.com.toutiao2.base;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.Window;
import android.view.WindowManager;

public abstract class BaseActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        init();
    }

    private void init() {
        setQuanPing();
        setContentView(initLayout());
        initView();
        initData();
        setOnClickListen();
    }

    protected abstract void setOnClickListen();

    protected abstract void initData();

    protected abstract void initView();

    protected abstract void setQuanPing();

    protected abstract int initLayout();
    protected void quanping(){
        requestWindowFeature(Window.FEATURE_NO_TITLE);// 隐藏标题
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);// 设置全屏

    }
}

//跳转到MainActivity   

mainactivity布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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:id="@+id/draw_layout"
    tools:context=".ui.activity.MainActivity">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        >
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:background="@color/colorPrimaryDark"
            >
            <ImageView
                android:layout_width="50dp"
                android:layout_height="50dp"
                android:id="@+id/iv"
                android:src="@mipmap/ic_launcher_round"
                android:layout_margin="5dp"
                />
            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="标题"
                android:textSize="20dp"
                android:gravity="center"
                android:layout_marginRight="30dp"
                android:textColor="#ffff"
                />
        </LinearLayout>
        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:id="@+id/frag_layout"
            ></FrameLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:background="@color/colorPrimary"
            >
            <RadioGroup
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:id="@+id/radio_group"
                android:layout_weight="1"
                android:orientation="horizontal"
                >
                <RadioButton
                    android:text="新闻"
                    android:id="@+id/rb1"
                    style="@style/MyStyle"
                    />
                <RadioButton
                    android:text="社会"
                    android:id="@+id/rb2"
                    style="@style/MyStyle"
                    />
                <RadioButton
                    android:text="热点"
                    android:id="@+id/rb3"
                    style="@style/MyStyle"
                    />
                <RadioButton
                    android:text="我的"
                    android:id="@+id/rb4"
                    style="@style/MyStyle"
                    />
            </RadioGroup>
        </LinearLayout>
    </LinearLayout>
    <LinearLayout
        android:layout_width="380dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="@color/colorPrimary"
        >
        <ImageView
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:src="@mipmap/ic_launcher_round"
            />
    </LinearLayout>


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

//布局里面  有tablayout  需要导包

MainActivity页面

package bwie.com.toutiao2.ui.activity;

import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v4.widget.DrawerLayout;
import android.view.Gravity;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.RadioGroup;

import java.util.ArrayList;

import bwie.com.toutiao2.R;
import bwie.com.toutiao2.base.BaseActivity;
import bwie.com.toutiao2.ui.fragment.nav.Fragment1;
import bwie.com.toutiao2.ui.fragment.nav.Fragment2;
import bwie.com.toutiao2.ui.fragment.nav.Fragment3;
import bwie.com.toutiao2.ui.fragment.nav.Fragment4;

public class MainActivity extends BaseActivity implements View.OnClickListener {

    private DrawerLayout draw_layout;
    private RadioGroup radio_group;
    private FrameLayout frag_layout;
    private ImageView iv;
    private ArrayList<Fragment> list;

    @Override
    protected void setOnClickListen() {
        iv.setOnClickListener(this);
        draw_layout.addDrawerListener(new DrawerLayout.DrawerListener() {
            @Override
            public void onDrawerSlide(@NonNull View drawerView, float slideOffset) {
                View content = draw_layout.getChildAt(0);
                float scale = 1 - slideOffset;//1~0
                content.setTranslationX(drawerView.getMeasuredWidth() * (1 - scale));//0~width
            }

            @Override
            public void onDrawerOpened(@NonNull View drawerView) {

            }

            @Override
            public void onDrawerClosed(@NonNull View drawerView) {

            }

            @Override
            public void onDrawerStateChanged(int newState) {

            }
        });
        radio_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                switch (i){
                    case R.id.rb1:
                        tihuan(new Fragment1());
                        break;
                    case R.id.rb2:
                        tihuan(new Fragment2());
                        break;
                    case R.id.rb3:
                        tihuan(new Fragment3());
                        break;
                    case R.id.rb4:
                        tihuan(new Fragment4());
                        break;
                }
            }
        });
    }

    private void tihuan(Fragment fragment) {
        getSupportFragmentManager().beginTransaction().replace(R.id.frag_layout,fragment).commit();
    }

    @Override
    protected void initData() {
        radio_group.check(R.id.rb1);
        tihuan(new Fragment1());
    }

    @Override
    protected void initView() {
        draw_layout = findViewById(R.id.draw_layout);
        radio_group = findViewById(R.id.radio_group);
        frag_layout = findViewById(R.id.frag_layout);
        iv = findViewById(R.id.iv);
    }

    @Override
    protected void setQuanPing() {

    }

    @Override
    protected int initLayout() {
        return R.layout.activity_main;
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.iv:
                if (draw_layout.isDrawerOpen(Gravity.START)){
                    draw_layout.closeDrawer(Gravity.START);
                }else {
                    draw_layout.openDrawer(Gravity.START);
                }
                break;
        }
    }
}

创建4个fragment  替换了  

fragment1页面布局

<?xml version="1.0" encoding="utf-8"?>
<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"
    tools:context=".ui.fragment.nav.Fragment1">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:orientation="horizontal"
        >
        <android.support.design.widget.TabLayout
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="match_parent"
            android:id="@+id/tab"
            ></android.support.design.widget.TabLayout>
        <ImageView
            android:layout_width="50dp"
            android:layout_height="match_parent"
            android:id="@+id/add"
            android:src="@drawable/add"
            />
    </LinearLayout>
    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/view_pager"
        ></android.support.v4.view.ViewPager>
</LinearLayout>

基类BaseFragment

package bwie.com.toutiao2.base;

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

public abstract class BaseFragment extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return init(inflater,container);
    }

    protected abstract View init(LayoutInflater inflater, ViewGroup container);
}

fragment1  页面设置

package bwie.com.toutiao2.ui.fragment.nav;


import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import java.util.ArrayList;

import bwie.com.toutiao2.R;
import bwie.com.toutiao2.adapter.MyFragmentAdapter;
import bwie.com.toutiao2.base.BaseFragment;
import bwie.com.toutiao2.ui.activity.PindaoActivity;
import bwie.com.toutiao2.ui.fragment.nav.news.FragmentA;
import bwie.com.toutiao2.ui.fragment.nav.news.FragmentB;
import bwie.com.toutiao2.ui.fragment.nav.news.FragmentC;

/**
 * A simple {@link Fragment} subclass.
 */
public class Fragment1 extends BaseFragment implements View.OnClickListener {

    //private String[] titles={"少儿","河北","河南"};
    private TabLayout tab;
    private ViewPager view_pager;
    private ArrayList<Fragment> list;
    private ArrayList<String> tabs;
    private ImageView iv_add;

    public Fragment1() {
        // Required empty public constructor
    }
    @Override
    protected View init(LayoutInflater inflater, ViewGroup container) {
        View view = inflater.inflate(R.layout.fragment_fragment1, container, false);
        tab = view.findViewById(R.id.tab);
        view_pager = view.findViewById(R.id.view_pager);
        iv_add = view.findViewById(R.id.add);

        //监听
        iv_add.setOnClickListener(this);
        return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        //创建tabs集合
       // tab.setTabMode(TabLayout.MODE_SCROLLABLE);
        tabs = new ArrayList<>();
        tabs.add("少儿");
        tabs.add("河北");
        tabs.add("河南");
        tab.addTab(tab.newTab().setText(tabs.get(0)));
        tab.addTab(tab.newTab().setText(tabs.get(1)));
        tab.addTab(tab.newTab().setText(tabs.get(2)));

        //创建集合
        list = new ArrayList<>();
        list.add(new FragmentA());
        list.add(new FragmentB());
        list.add(new FragmentC());
        //创建适配器
        MyFragmentAdapter adapter = new MyFragmentAdapter(getChildFragmentManager(), list,tabs);
        //设置适配器
        view_pager.setAdapter(adapter);
        tab.setupWithViewPager(view_pager);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()){
            case R.id.add:
                startActivity(new Intent(getActivity(),PindaoActivity.class));
                break;
        }
    }
}

MyFragment适配器

package bwie.com.toutiao2.adapter;

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

import java.util.List;

public class MyFragmentAdapter extends FragmentPagerAdapter {
    private List<Fragment> list;
    private List<String> tabs;

    public MyFragmentAdapter(FragmentManager fm, List<Fragment> list, List<String> tabs) {
        super(fm);
        this.list = list;
        this.tabs = tabs;
    }

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

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

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        return tabs.get(position);
    }
}

频道管理页面布局

<?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:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ui.activity.PindaoActivity">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="@color/colorPrimary"
        >
        <ImageView
            android:padding="10dp"
            android:layout_width="50dp"
            android:layout_height="match_parent"
            android:src="@drawable/back"
            android:id="@+id/iv_back"
            />
        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="频道管理"
            android:gravity="center"
            android:textSize="20sp"
            android:textColor="#fff"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="编辑"
            android:textColor="#fff"
            android:id="@+id/tv_edit"
            />
    </LinearLayout>
   <!-- 拷贝  频道管理-->
    <com.bawei.channelmanager.ui.ChannelView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/channel_view"
        ></com.bawei.channelmanager.ui.ChannelView>
</LinearLayout>

这个页面跳转导频道管理

package bwie.com.toutiao2.ui.activity;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.bawei.channelmanager.bean.ChannelBean;
import com.bawei.channelmanager.ui.ChannelView;

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

import bwie.com.toutiao2.R;

public class PindaoActivity extends AppCompatActivity implements View.OnClickListener {

    private ImageView iv_back;
    private TextView tv_edit;
    private ChannelView channel_view;
    // 我的频道数据集合
    private List<ChannelBean> moreChannelBeans = new ArrayList<>();
    // 更多频道数据集合
    private List<ChannelBean> channelBeans = new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pindao);
        //初始化控件
        iv_back = findViewById(R.id.iv_back);
        tv_edit = findViewById(R.id.tv_edit);
        channel_view = findViewById(R.id.channel_view);
        channel_view.showDefaultHeadView(false);     // 设置隐藏默认的HeadView
        channel_view.showDefaultMoreView(false);     // 设置隐藏默认的MoreView
        channel_view.addHead(LayoutInflater.from(this).inflate(R.layout.mychanel, null, false));     // 添加自定义的head
        channel_view.addMore(LayoutInflater.from(this).inflate(R.layout.chanel_footer, null, false));     // 添加自定义的more
        tv_edit.setOnClickListener(this);
        iv_back.setOnClickListener(this);
        //假数据
        for (int i = 0; i < 20; i++) {
            if (i % 2 == 0) {
                channelBeans.add(new ChannelBean("频道" + i, i, "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/10/1", true));
            } else {
                moreChannelBeans.add(new ChannelBean("垃圾" + i, i, "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/10/1", false));
            }

        }
        channel_view.init(channelBeans, moreChannelBeans, new ChannelView.ChannelCallback() {
            @Override
            public void onMyChannelRemove(ChannelBean channelBean) {

            }

            @Override
            public void moMoreChannelRemove(ChannelBean channelBean) {

            }
        });



    }
    private boolean flag;
    @Override
    public void onClick(View view) {

        switch (view.getId()){
            case R.id.iv_back:
                finish();
                break;
            case R.id.tv_edit:
                //编辑
                if (!flag){
                    tv_edit.setText("完成");
                }else {
                    tv_edit.setText("编辑");
                }
                channel_view.changeMyChannelState();
                break;
        }
    }
}

  //频道管理中 头布局 和脚 自己写

猜你喜欢

转载自blog.csdn.net/nideyida1/article/details/81233215