2017-02-15 7 views
0

ボタンの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をwidthに変更しても動作しますが、これは私の好みではありません。私は、パディングを使用すると問題を解決できると思います。しかし、この命令で書いたパラメータは何も変更されません。Buttonの背景色は背景色を無効にします。 myButton.setPadding(0、10、0、0); //その他のもの – FAR

+0

余白を追加してパディングしないようにしてください。 – Mikerizzo

+0

申し訳ありませんが、私は問題を発見しました。私はLayoutParamsにsetMarginsを設定し、次にsetLayoutParamsを次のようにしてビューに追加しなければなりませんでした。 params.setMargins(0、10、0、10); myButton.setLayoutParams(params); – FAR

関連する問題