программно создать макет с моей точки зрения:Как накладывать макеты?
RelativeLayout.LayoutParams layoutParamsDummy = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, this.optimalCenterPadding);
layoutParamsDummy.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
RelativeLayout relativeLayoutDummy = new RelativeLayout(this.getContext());
relativeLayoutDummy.setId(DUMMY_ID);
relativeLayoutDummy.setBackground(this.getResources().getDrawable(R.drawable.custom_background));
relativeLayoutDummy.setLayoutParams(layoutParamsDummy);
relativeLayoutCenter.addView(relativeLayoutDummy);
RelativeLayout.LayoutParams layoutParamsImageViewCenter = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParamsImageViewCenter.addRule(RelativeLayout.CENTER_HORIZONTAL);
layoutParamsImageViewCenter.setMargins(0, this.optimalCenterBackgroundPadding, 0, 0);
this.imageViewCenter = new ImageView(this.getContext());
this.imageViewCenter.setLayoutParams(layoutParamsImageViewCenter);
this.imageViewCenter.setImageDrawable(Images.loadDrawableFromFile(this.getContext(), Paths.IMAGE_BACKGROUND_POWER));
this.imageViewCenter.setBackground(null);
RelativeLayout.LayoutParams layoutParamsImageButtonCenter = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParamsImageButtonCenter.addRule(RelativeLayout.CENTER_HORIZONTAL);
layoutParamsImageButtonCenter.addRule(RelativeLayout.ABOVE, DUMMY_ID);
this.imageButtonCenter = new ImageButton(this.getContext());
this.imageButtonCenter.setId(CENTER_ID);
this.imageButtonCenter.setLayoutParams(layoutParamsImageButtonCenter);
this.imageButtonCenter.setImageDrawable(Images.loadDrawableFromFile(this.getContext(), Paths.IMAGE_POWER));
this.imageButtonCenter.setBackground(null);
this.imageButtonCenter.setOnDragListener(new DropTargetOnDragListener());
Я должен сделать это программно, потому что я использую пользовательский круговое расположение. Что я есть сейчас следующее:
Два круга с большим кругом ниже, чем меньше один. То, что я хочу иметь следующее:
большего круг должен быть точно под меньшим кругом, что означает, что я хочу меньший круг для наложения большего круга. Очень сложно вычислить правильное положение для работы при каждом размере и плотности экрана, и это приводит меня к следующему вопросу:
Могу ли я разместить макет именно под другим макетом?
Я не могу просто установить фон кнопки изображения или что-то в этом роде, потому что зеленый, меньший круг - это область перетаскивания для других кнопок. больший круг не должен вызывать событие капли.
Я также не могу работать с полями, потому что я динамически размещаю кнопки вокруг зеленого, меньшего круга. Я попробовал маржи, но они полностью испортили позиционирование этих кнопок.
Вы можете использовать FrameLayout? – Blackbelt
«Я должен делать это программно, потому что я использую собственный круговой макет». Вы знаете, что вы можете использовать пользовательский вид через xml layotus? – harrane
да, я знаю это. но в моем случае это невозможно. – Mulgard