Как мне позиционировать ZoomButtonsController в пользовательском ImageView? - PullRequest
2 голосов
/ 04 марта 2012

Макетирование в Android вызывает у меня некоторое недоумение.Я медленно внедряю собственный ImageView, где я хотел бы использовать ZoomButtonsController.Однако я хотел бы решить, куда идут кнопки масштабирования в макете, и я не могу понять, как их переместить из стандартного нижнего центрального положения.

Я экспериментировал с макетом простых представлений, таких как кнопкив основной деятельности, и это, кажется, работает, как я предполагаю и ожидаю.В случае ZoomButtonsController, однако, я хотел бы переместить их.Я использую RelativeLayout в качестве почтового макета и добавляю ZoomButtonsController в пользовательский ImageView.

Код активности

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;
    }
}

IПротестировано с WRAP_CONTENT в параметрах, но это только приводит к исчезновению кнопок масштабирования.

1 Ответ

1 голос
/ 28 мая 2012

На самом деле, я никак не мог позиционировать ZoomButtonsController, и в итоге пришлось принять размещение по умолчанию.

...