Макетирование в 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 в параметрах, но это только приводит к исчезновению кнопок масштабирования.