短视频直播源码,日夜模式切换配置-阿里云开发者社区

开发者社区> 云计算> 正文

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

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

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

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-----------------");
    }
}

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章