Java代码无法使按钮变宽
我不知道是什么问题。我正在创建一个简单的电话簿,所以我有一个名字的名字,图像和呼叫按钮下的名字。当我尝试使用按钮的Java代码无法使按钮变宽,java,android,Java,Android,我不知道是什么问题。我正在创建一个简单的电话簿,所以我有一个名字的名字,图像和呼叫按钮下的名字。当我尝试使用按钮的layoutParams参数设置宽度时,它不会改变任何东西,btn.setWidth()也不起作用 public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onC
layoutParams
参数设置宽度时,它不会改变任何东西,btn.setWidth()代码>也不起作用
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);
}
}
}
public类MainActivity扩展了AppCompatActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
最终线性布局线性=(线性布局)findViewById(R.id.linear);
LinearLayout.LayoutParams子参数=新的LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_父项,LinearLayout.LayoutParams.WRAP_内容);
LinearLayout.LayoutParams childparams=新的LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_内容,LinearLayout.LayoutParams.WRAP_内容);
LinearLayout.LayoutParams imageparams=新的LinearLayout.LayoutParams(200200);
线性。设置方向(线性布局。垂直);
对于(int i=0;i<10;i++){
LinearLayout sublinear=新的LinearLayout(本);
按钮btn=新按钮(此按钮);
ImageView img=新的ImageView(本);
TextView txt=新的TextView(此);
img.setImageResource(R.drawable.img);
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);
次线性添加视图(img);
次线性添加视图(btn);
线性。添加视图(次线性,次参数);
}
}
}
您的按钮正在使用LayoutParams
设置宽度和高度,因此您需要在此处更改此属性(LinearLayout.LayoutParams(宽度、高度
):
按钮的大小必须更改,因为您正在设置此值
btn.setLayoutParams(imageparams);
谢谢你,但是我以前做过,不幸的是它不起作用(
btn.setLayoutParams(imageparams);