2016-11-25 9 views
2

問題は何か分かりません。私は単純な電話帳を作成しているので、私は名前の下に、酷い、画像と呼び出しボタンの名前を持っています。ボタンのパラメータlayoutParamsで幅を設定しようとすると、何も変わらず、btn.setWidth();も機能しません。Javaコードでボタンを広げることはできません

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    final LinearLayout linear = (LinearLayout)findViewById(R.id.linear); 
     LinearLayout.LayoutParams sublparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
     LinearLayout.LayoutParams childparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
     LinearLayout.LayoutParams imageparams = new LinearLayout.LayoutParams(200, 200); 
     linear.setOrientation(LinearLayout.VERTICAL); 
     for(int i = 0; i < 10 ; i++){ 
      LinearLayout sublinear = new LinearLayout(this); 
      Button btn = new Button(this); 
      ImageView img = new ImageView(this); 
      TextView txt = new TextView(this); 
      img.setImageResource(R.drawable.img); 
      txt.setText("Abonent " + (i+1)); 
      btn.setBackgroundColor(getColor(R.color.mygreen)); 
      btn.setText("+3800000"); 
      txt.setLayoutParams(childparams); 
      btn.setLayoutParams(imageparams); 
      img.setLayoutParams(imageparams); 
      linear.addView(txt); 
      sublinear.addView(img); 
      sublinear.addView(btn); 
      linear.addView(sublinear, sublparams); 
     } 
    } 
} 

result of programm, green vertical lines are buttons, that i cannot to make widerあなたは(LinearLayout.LayoutParams(widht, height))ここでは、このプロパティを変更する必要があるので、あなたのボタンは幅とheigth設定するLayoutParamsを使用している

答えて

0

LinearLayout.LayoutParams imageparams = new LinearLayout.LayoutParams(500, 300); 

をして、ボタンのサイズを変更する必要がありますこの値を設定しているためです。

btn.setLayoutParams(imageparams); 
+0

ありがとうございましたが、これまでに行ったことがありますが、残念ながらそれは機能しません –

関連する問題