-1

我想創建隨機ActionbarStatus baronCreate,指定的顏色(橙色,綠色和粉紅色)。我在下面找到了一些有用的代碼:如何創建隨機的動作條和狀態欄創建模式

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ActionBar actionBar; 
    actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#879f38"))); 
+2

你想改變顏色每次活動拿開還是什麼? –

+0

@SwapnilMeshram是的,正好 –

回答

1

您可以簡單地創建color.xml顏色的排列和選擇一個隨機的顏色由它來設置顏色的ActionBar以及狀態欄的顏色。

color.xml 

<array name="actionbar_color"> 
    <item>@color/bright_pink</item> 
    <item>@color/red</item> 
    <item>@color/orange</item> 
    <item>@color/yellow</item> 
    <item>@color/chartreuse</item> 
    <item>@color/green</item> 
    <item>@color/spring_green</item> 
    <item>@color/cyan</item> 
    <item>@color/azure</item> 
    <item>@color/blue</item> 
    <item>@color/violet</item> 
    <item>@color/magenta</item> 
</array> 

在你的活動

protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState);  

// further code 

int[] actionbarColor = context.getResources().getIntArray(R.array.actionbar_color); 
actionBar.setBackgroundDrawable(new ColorDrawable(getRandom(actionbarColor))); 
} 

public int getRandom(int[] array) { 
int rnd = new Random().nextInt(array.length); 
return array[rnd]; 
} 
1

這對我有用,你也可以看到一些實驗代碼註釋掉了。我使用AppCompatActivity。

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.mylayout); 
    setupActionBar(); 
} 

    private void setToolbarColor() { 
     final int toolbarColor = getResources().getColor(R.id.color_orange); 

     // create our manager instance after the content view is set 
     final SystemBarTintManager tintManager = new SystemBarTintManager(this); 
     // enable status bar tint 
     tintManager.setStatusBarTintEnabled(true); 
     // enable navigation bar tint 
     tintManager.setNavigationBarTintEnabled(true); 

     // set a custom tint color for all system bars 
     tintManager.setTintColor(toolbarColor); 

//  // set a custom navigation bar resource 
//  tintManager.setNavigationBarTintResource(R.drawable.my_tint); 
//  // set a custom status bar drawable 
//  tintManager.setStatusBarTintDrawable(MyDrawable); 

     final ActionBar actionBar = getSupportActionBar(); 
     if (null != actionBar) { 
//  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
//   Window.setStatusBarColor(); 
//   getWindow().setStatusBarColor(Color.BLUE); 
//  } 
      actionBar.setBackgroundDrawable(new ColorDrawable(toolbarColor)); 
     } 
    }