我已经看过各种各样的问题,但无法让它们发挥作用。
我有一个按钮,背景,图像在顶部,文本在底部。该按钮是动态的,因此没有XML可用。
动态按钮的代码:
final Button image = new Button(this);
image.setTag(i);
image.setText(buttonsList[i].toUpperCase());
image.setGravity(Gravity.CENTER);
image.setBackgroundColor(getResources().getColor(R.color.dark_grey));
if (i == Const.MainIndex.FESTIVAL_OUTLOOK_INDEX) {
try {
XmlResourceParser parser = getResources().getXml(
R.color.text_color_green);
ColorStateList colors = ColorStateList.createFromXml(
getResources(), parser);
image.setTextColor(colors);
} catch (Exception e) {
}
//setting this value to -ve decreases the
//gap between the image and text
image.setCompoundDrawablePadding(-100);
image.setCompoundDrawablesWithIntrinsicBounds(
null,
getResources().getDrawable(
R.drawable.sidemenu_image_festout), null, null);
image.setBackgroundResource(R.drawable.button_background_green);
}
以下是图片现在的样子..
我想在图像的TOP上设置填充。这样图像看起来并不接近按钮的边框。我怎样才能做到这一点?
我尝试设置image.setPadding(0,10,0,0)
但没有效果。
答案 0 :(得分:0)
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(left, top, right, bottom);
imageView.setLayoutParams(lp);
使用此