如何在自定义ImageView中定位ZoomButtonsController?

时间:2012-03-04 18:50:14

标签: android layout imageview

在Android中进行布局让我感到非常困惑。 我正在慢慢实现自定义ImageView,我想使用ZoomButtonsController。 但是,我想确定缩放按钮在布局中的位置,我无法弄清楚如何从默认的底部中心位置移动它们。

我一直在尝试布局简单视图,例如主要活动中的按钮,这似乎正如我猜测和期望的那样工作。 在ZoomButtonsController的情况下,我想重新定位它们。我使用RelativeLayout作为邮件布局,并在自定义ImageView中添加ZoomButtonsController。

活动代码

public class ImageViewActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        CustomImageView imageView = new CustomImageView(this);
        relativeLayout.addView(imageView);
    }
}

CustomImageView代码

public class CustomImageView extends ImageView {
    private ZoomButtonsController mZoomButtons;

    public CustomImageView(Context context) {
        super(context);
        RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT);
        mZoomButtons = new ZoomButtonsController(this);
        mZoomButtons.getZoomControls();
        layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
        layoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
        setLayoutParams(layoutParams);
    }

    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        Log.d("TAG", "touch");
        mZoomButtons.setVisible(true);
        return true;
    }
}

我已经在参数中使用WRAP_CONTENT进行了测试,但这只会使缩放按钮消失。

1 个答案:

答案 0 :(得分:1)

事实上,我无法以任何方式定位ZoomButtonsController,最终必须接受默认位置。