如何将ImageButton放在x,y位置?

时间:2012-04-23 15:42:05

标签: android

我想将ImageButton放在我视图的x,y位置。 问题是Android在图像周围添加了填充。 因为我不知道填充的确切大小,所以我无法将图像按钮放在准确的位置。 所以,我想删除填充。 如何以编程方式删除图像周围的填充? button.setPadding(0,0,0,0)使按钮宽度更短,高度比位图长。 button.getLayoutParams()。width给出减去的值。 到目前为止我尝试的是这样的。

protected class MyLayout extends RelativeLayout {
    Bitmap img;
    ImageButton button;

    public MyLayout(Context context) {
        button = new ImageButton(context);
        img = BitmapFactory.decodeResource(getResources(), R.drawable.img); 
        button.setImageBitmap(img);
        params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        button.setLayoutParams(params);
        params.setMargins(x, y, 0, 0);
        button.setBackgroundDrawable(null);
        addView(button, params);
    }
}       

1 个答案:

答案 0 :(得分:0)

修改

使用此...

     MarginLayoutParams marginParams = new MarginLayoutParams(image.getLayoutParams());  
     int left = someValue;
     int top = someValue;
     marginParams.setMargins(left, top, 0, 0);
     RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(marginParams);
     image.setLayoutParams(layoutParams);