0

我想将 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);
    }
}       
4

1 回答 1

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);   
于 2012-04-23T16:15:24.327 回答