//闪屏
package cn.zhaoliang5156.toutiao1630a.ui.fragment.activity;
import android.content.Intent;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.RelativeLayout;
import cn.zhaoliang5156.toutiao1630a.R;
import cn.zhaoliang5156.toutiao1630a.base.BaseActivity;
/**
* 闪屏页面
*
* @author zhaoliang
* @version 1.0
* @create 2018/7/24
*/
public class SplashActivity extends BaseActivity implements Animation.AnimationListener {
// 渐变动画
private AlphaAnimation alphaAnimation;
// 跟布局
private RelativeLayout rlSplash;
@Override
protected void setOnClickLisener() {
}
@Override
protected void initData() {
alphaAnimation = new AlphaAnimation(0, 1);
alphaAnimation.setDuration(2000);
alphaAnimation.setAnimationListener(this);
rlSplash.startAnimation(alphaAnimation);
}
@Override
protected void findView() {
rlSplash = findViewById(R.id.rl_splash);
}
@Override
protected void setFullScreen() {
fullScreen();
}
@Override
protected int initLayout() {
return R.layout.activity_splash;
}
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
toMain();
}
/**
* 跳转到主界面
*/
private void toMain() {
startActivity(new Intent(this, MainActivity.class));
finish();
}
@Override
public void onAnimationRepeat(Animation animation) {
}
}
//侧拉
package cn.zhaoliang5156.toutiao1630a.ui.fragment.activity;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v4.widget.DrawerLayout;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.RadioGroup;
import cn.zhaoliang5156.toutiao1630a.R;
import cn.zhaoliang5156.toutiao1630a.base.BaseActivity;
import cn.zhaoliang5156.toutiao1630a.ui.fragment.nav.NavFourFragment;
import cn.zhaoliang5156.toutiao1630a.ui.fragment.nav.NavOneFragment;
import cn.zhaoliang5156.toutiao1630a.ui.fragment.nav.NavThreeFragment;
import cn.zhaoliang5156.toutiao1630a.ui.fragment.nav.NavTwoFragment;
/**
* 程序首页面
*
* @author zhaoliang
* @version 1.0
* @create 2018/7/24
*/
public class MainActivity extends BaseActivity implements View.OnClickListener {
private static final String TAG = MainActivity.class.getSimpleName();
private ImageView ivHead;
// 侧滑菜单
private DrawerLayout drawerLayout;
// 主内容区域
private FrameLayout flContainer;
// 底部导航
private RadioGroup navRadioGroup;
@Override
protected void setOnClickLisener() {
ivHead.setOnClickListener(this);
drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
@Override
public void onDrawerSlide(@NonNull View drawerView, float slideOffset) {
Log.i(TAG, "===:" + slideOffset);
//滑动过程中不断回调 slideOffset:0~1
View content = drawerLayout.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) {
}
});
navRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.rb_nav_one:
changePager(new NavOneFragment());
break;
case R.id.rb_nav_two:
changePager(new NavTwoFragment());
break;
case R.id.rb_nav_three:
changePager(new NavThreeFragment());
break;
case R.id.rb_nav_four:
changePager(new NavFourFragment());
break;
}
}
});
}
/**
* 改变页面
*
* @param fragment
*/
private void changePager(Fragment fragment) {
getSupportFragmentManager().beginTransaction().replace(R.id.fl_container, fragment).commit();
}
@Override
protected void initData() {
// 选中第一个页面
navRadioGroup.check(R.id.rb_nav_one);
}
@Override
protected void findView() {
ivHead = findViewById(R.id.iv_head);
drawerLayout = findViewById(R.id.draw_layout);
flContainer = findViewById(R.id.fl_container);
navRadioGroup = findViewById(R.id.rg_nav);
}
@Override
protected void setFullScreen() {
}
@Override
protected int initLayout() {
return R.layout.activity_main;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
// 点击头像 展开侧滑
case R.id.iv_head:
if (drawerLayout.isDrawerOpen(Gravity.START)) {
drawerLayout.closeDrawer(Gravity.START);
} else {
drawerLayout.openDrawer(Gravity.START);
}
break;
}
}
}
//频道
<?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="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:background="@color/colorPrimary"> <ImageView android:id="@+id/iv_image" android:layout_width="50dp" android:layout_height="match_parent" android:padding="10dp" android:src="@drawable/ic_arrow_back_black_24dp" /> <TextView android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:gravity="center" android:text="频道管理" android:textAppearance="@android:style/TextAppearance.StatusBar.Title" android:textColor="@android:color/white" /> <TextView android:id="@+id/tv_edit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:text="编辑" android:textColor="@android:color/white" /> </LinearLayout> <com.bawei.channelmanager.ui.ChannelView android:id="@+id/channel_view" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
package cn.zhaoliang5156.toutiao1630a.ui.fragment.activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
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 cn.zhaoliang5156.toutiao1630a.R;
/**
* 频道Activity
*
* @author zhaoliang
* @version 1.0
* @create 2018/7/26
*/
public class ChannelActivity extends AppCompatActivity implements View.OnClickListener {
private ImageView ivImage;
private TextView tvEdit;
private ChannelView channelView;
// 存放频道的List
private List<ChannelBean> loveChannel = new ArrayList<>();
private List<ChannelBean> moreChannel = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_channel);
ivImage = findViewById(R.id.iv_image);
tvEdit = findViewById(R.id.tv_edit);
channelView = findViewById(R.id.channel_view);
ivImage.setOnClickListener(this);
tvEdit.setOnClickListener(this);
channelView.addHead(View.inflate(this, R.layout.channel_head, null));
channelView.addMore(View.inflate(this, R.layout.channel_more, null));
// 初始化Channel 数据
for (int i = 0; i < 20; i++) {
if (i % 2 == 0) {
loveChannel.add(new ChannelBean("娱乐" + i, i, "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/10/1", true));
} else {
moreChannel.add(new ChannelBean("垃圾" + i, i, "http://gank.io/api/data/%E7%A6%8F%E5%88%A9/10/1", false));
}
}
// channelView 的初始化
channelView.init(loveChannel, moreChannel, new ChannelView.ChannelCallback() {
@Override
public void onMyChannelRemove(ChannelBean channelBean) {
}
@Override
public void moMoreChannelRemove(ChannelBean channelBean) {
}
});
}
private boolean channelState;
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.iv_image:
finish();
break;
case R.id.tv_edit:
if (!channelState) {
tvEdit.setText("完成");
} else {
tvEdit.setText("编辑");
}
channelView.changeMyChannelState();
channelState = !channelState;
break;
}
}
}