这就是我创建按钮的方式
Mybutton btn1 = new Mybutton(getApplicationContext());
btn1.setId(20+i);
btn1.setText(jobj1.getString("name"));
btn1.setTextColor(Color.WHITE);
btn1.setWidth(dpToPx(150));
btn1.setHeight(dpToPx(150));
btn1.setGravity(Gravity.BOTTOM|Gravity.CENTER); // part2
btn1.setPadding(5, 5, 5, 5);
Picasso.with(getApplicationContext()).load(jobj1.getString("image")).into(btn1);
tr_head.addView(btn1);// add the column to the table row here
它创建这样的布局
这里是自定义mybutton类
public class Mybutton extends Button implements Target {
public Mybutton(Context context) {
super(context);
}
public Mybutton(Context context, AttributeSet attrs) {
super(context, attrs);
}
public Mybutton(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
setBackgroundDrawable(new BitmapDrawable(bitmap));
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
}
我想要的是调整图标的大小以使它们很小并将它们设置为按钮的中心。另外我如何设置此按钮的左右两侧
答案 0 :(得分:0)
有几个选项可以做到这一点:
您可以在可绘制文件中调整原始图像的大小,并将宽度和高度设置为wrap_content
,或者您可以使用
btn.setScaleType(yourType);
这是一种可能有助于扩展图像的方法:
public static Bitmap scaleDownBitmap(Bitmap photo, int newHeight,int newWidth, Context context) {
photo=Bitmap.createScaledBitmap(photo, newWidth, newHeight, true);
return photo;
}
设置按钮的边距,实际使用:
LayoutParams params = new LayoutParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT
);
params.setMargins(left, top, right, bottom);
yourbutton.setLayoutParams(params);