2017-02-15 57 views
0

我該怎麼做才能使Button的android:background顏色不禁用LinearLayout android:background顏色?這是動態創建按鈕的時候。 這裏是我的代碼:Button BackgroundColor禁用LinearLayout BackgroundColor

for (int i = 0; i < myList.size(); i++) { 
     LinearLayout ll = (LinearLayout) findViewById(R.id.layout1); 

     ll.setBackgroundColor(Color.parseColor("#FFFFFF")); // WHITE 
     LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
     Button myButton = new Button(this); 
     myButton.setText(myList.get(i)); 

     myButton.setBackgroundColor(getResources().getColor(R.color.naranja)); // ORANGE 

     ll.addView(myButton, lp); 
     myButton.setId(i); 
     myButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { ……… 

回答

2

它不禁止的背景顏色,你在它上面繪製。如果您將LayoutParams更改爲WRAP_CONTENT的寬度,您會注意到背景色仍然是白色。另外,如果你在按鈕周圍添加一些填充,你會注意到同樣的事情。

+0

是的,它的工作原理是改變WRAP_CONTENT寬度,但這不是我喜歡的。我認爲使用填充可以解決問題。但是,我在此指令中寫入的任何參數都不會改變任何內容:按鈕背景顏色禁用背景顏色: myButton.setPadding(0,10,0,0); //或其他任何其他 – FAR

+0

嘗試添加邊距而不是填充。 – Mikerizzo

+0

對不起,我發現了這個問題。我必須將Margin設置爲LayoutParams,然後將setLayoutParams設置爲我的視圖,如下所示: params.setMargins(0,10,0,10); myButton.setLayoutParams(params); – FAR