短视频直播源码,日夜模式切换配置

2020-11-19 14:18:37 浏览数 (1)

短视频直播源码,日夜模式切换配置相关的代码

代码语言:javascript复制
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager.LayoutParams;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.bwie.today_topline.MyApplication;
import com.bwie.today_topline.R;
import com.bwie.today_topline.menu.MenuFragment;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
public abstract class BaseActivity extends SlidingFragmentActivity {
    public LinearLayout lly;
    public ImageButton ib_activity_back;
    public TextView tv_title;
    public TextView tv_deal;
    public FrameLayout fl_base;
    public SlidingMenu slidingMenu;
    public MenuFragment menuFragment;
    private boolean mIsAddedView;
    private LayoutParams myNightViewParams;
    private View mNightView;
    private WindowManager manager;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.pagr_tab);
        if (MyApplication.isNeightMode) {
            initNightView();
            // 设置windowmaneger背景图的颜色
            mNightView.setBackgroundResource(R.color.night_mask);
        }
        initSlidingMenu();
        lly = (LinearLayout) findViewById(R.id.ll_title);
        ib_activity_back = (ImageButton) findViewById(R.id.ib_activity_back);
        tv_title = (TextView) findViewById(R.id.tv_title);
        tv_deal = (TextView) findViewById(R.id.tv_deal);
        fl_base = (FrameLayout) findViewById(R.id.fl_base);
        fl_base.addView(initView());
        initData();
    }
    // 设置夜间模式给试图设置一层布
    private void initNightView() {
        if (mIsAddedView == true)
            return;
        myNightViewParams = new LayoutParams(LayoutParams.TYPE_APPLICATION,
                LayoutParams.FLAG_NOT_TOUCHABLE
                        | LayoutParams.FLAG_NOT_FOCUSABLE,
                PixelFormat.TRANSPARENT);
        manager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
        mNightView = new View(this);
        manager.addView(mNightView, myNightViewParams);
        mIsAddedView = true;
    }
    public void ChangeToDay() {
        MyApplication.setNeightMode(false);
        Toast.makeText(this, "白天", 0).show();
        manager.removeView(mNightView);
        mNightView.setBackgroundResource(android.R.color.transparent);
    }
    public void ChangeToNight() {
        Toast.makeText(this, "黑天", 0).show();
        MyApplication.setNeightMode(true);
        if (mIsAddedView != true) {
            initNightView();
            mIsAddedView = false;
        }
        mNightView.setBackgroundResource(R.color.night_mask);
    }
    /**
     * 改变当前日夜模式
     */
    public void changeViewMode() {
        // 判断当前模式,如果是白天模式,改成夜间,如果是夜间模式,改成白天
        boolean isNight = MyApplication.isNeightMode;
        if (isNight) {
            ChangeToDay();
        } else {
            ChangeToNight();
        }
        // // 重新创建Activity
        //recreate();
    }
    @Override
    protected void onDestroy() {
        if (mIsAddedView) {
            manager.removeViewImmediate(mNightView);
            manager = null;
            mNightView = null;
        }
        super.onDestroy();
    }
    // 返回时调用
    public void goBack() {
        finish();
        overridePendingTransition(R.anim.anim_back_in, R.anim.anim_back_out);
    }
    public void inten(Class activity) {
        Intent intent = new Intent(this, activity);
        startActivity(intent);
        overridePendingTransition(R.anim.anim_in, R.anim.anim_out);
    }
    // 初始化控件
    public abstract View initView();
    // 初始化数据
    public abstract void initData();
    // 设置侧拉框以及其监听活动
    public void initSlidingMenu() {
        // 设置侧拉条目布局
        setBehindContentView(R.layout.menu_frame);
        // 获取侧拉栏目对象
        slidingMenu = getSlidingMenu();
        /*
         * SlidingMenu.TOUCHMODE_FULLSCREEN全屏触摸有效 SlidingMenu.TOUCHMODE_MARGIN
         * 拖拽边缘有效 SlidingMenu.TOUCHMODE_NONE 不响应触摸事件
         */
        slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
        // 设置内容显示页对应的dp大小
        slidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        // //设置左侧侧拉栏目宽度
        // slidingMenu.setBehindWidth(140);
        // 设置侧拉栏目所在位置
        /*
         * SlidingMenu.LEFT SlidingMenu.LEFT_RIGHT SlidingMenu.RIGHT
         */
        slidingMenu.setMode(SlidingMenu.LEFT);
        // 给侧拉栏目和左侧内容页区分开(加线)
        slidingMenu.setShadowDrawable(R.drawable.ic_launcher);
        // 设置线的宽度
        slidingMenu.setShadowWidthRes(R.dimen.shadow_width);
        // fragment去替换布局中节点
        menuFragment = MenuFragment.getInstance();
        // FragmentManager管理者
        getSupportFragmentManager()
        // 开启事物
                .beginTransaction()
                // 通过fragment去替换对应布局
                .replace(R.id.menu, menuFragment, "MENU")
                // 提交事物
                .commit();
    }
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        menuFragment.onActivityResult(requestCode, resultCode, data);
        Log.i("com", "baseactivity     onActivityResult-----------------");
    }
}

以上就是短视频直播源码,日夜模式切换配置相关的代码, 更多内容欢迎关注之后的文章

0 人点赞