直播系統平臺搭建,狀態列透明和程式碼設定漸變色

yangxianhuang發表於2021-10-29

直播系統平臺搭建,狀態列透明和程式碼設定漸變色實現的相關程式碼

1.狀態列透明和去掉標題欄

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
狀態列透明:
WindowManager.getInstance().getTopWindow().get().addFlags(WindowManager.LayoutConfig.MARK_ALLOW_EXTEND_LAYOUT);
去掉狀態列:
getWindow().addFlags(WindowManager.LayoutConfig.MARK_FULL_SCREEN);
去掉標題欄
  "abilities" : [
"metaData" :{
           "customizeData" :[
             {
               "name" "hwc-theme" ,
               "value" "androidhwext:style/Theme.Emui.Light.NoTitleBar" ,
               "extra" ""
             }
           ]
         }
]

2.程式碼設定漸變色shape


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
由於看到不能在shape直接設定漸變,所以找到一個公共方法去設定:
     /**
      * 漸變色背景
      */
     public  static  ShapeElement getButtonShape(AbilityContext context,  float  radius,  int  resStartId,  int  resEndId) {
         ShapeElement shapeElement =  new  ShapeElement();
         shapeElement.setCornerRadius(radius);
         shapeElement.setShape(ShapeElement.RECTANGLE);
         //color關鍵值
         RgbColor[] rgbColors =  new  RgbColor[]{
                 RgbColor.fromArgbInt(context.getColor(resStartId)),
                 RgbColor.fromArgbInt(context.getColor(resEndId))};
         shapeElement.setRgbColors(rgbColors);
         //線性變化:對應type="linear"
         shapeElement.setShaderType(ShapeElement.LINEAR_GRADIENT_SHADER_TYPE);
         //變化方向,從左到右:對應angle="0"
         shapeElement.setGradientOrientation(ShapeElement.Orientation.LEFT_TO_RIGHT);
         return  shapeElement;
     }
     /**
      * 通過id獲取View
      */
     public  static  <T  extends  Component> T findById(AbilitySlice context,  int  id) {
         return  (T) context.findComponentById(id);
     }


以上就是直播系統平臺搭建,狀態列透明和程式碼設定漸變色實現的相關程式碼, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69971984/viewspace-2839812/,如需轉載,請註明出處,否則將追究法律責任。

相關文章