#android
#Android
Вопрос:
Я пытаюсь нарисовать медаль, накладывающуюся на угол экрана оценки, показанный здесь
Имеется прозрачный макет, содержащий кнопки, и RelativeLayout (поле с черным краем), в котором находится внутреннее поле (серое поле), содержащее остальные данные. Я попытался добавить медаль в верхний левый угол внутреннего RelativeLayout и придать ей отрицательные поля, но это просто обрезает ее на краю представления. Добавление его в прозрачный макет помещает его за угол.
Как я могу заставить медаль наложить этот угол? Я бы предпочел сделать это в xml, если это возможно, но любые предложения приветствуются.
Ответ №1:
Вы также можете добиться этого, установив атрибуты android:clipChildren="false"
и android:clipToPadding="false"
в родительском представлении (и если это не сработает, установите его также во всех группах представлений-предков, в конечном итоге это сработает).
Ответ №2:
В XML-макете элемент, который определяется после, будет накладываться на элемент, который определяется до. Итак, вы могли бы изменить макет на что-то вроде этого:
<LinearLayout>
<LinearLayout> <!--grey box --> </LinearLayout>
<ImageView src="medal" android:layout_marginLeft="-250dip"/>
<!-- change the amount of marginLeft to your desire -->
</LinearLayout>
Комментарии:
1. Я понятия не имел, что макеты были нарисованы в таком порядке! Это именно то, что я искал!
Ответ №3:
объедините их…
http://developer.android.com/resources/articles/layout-tricks-merge.html помогло бы
Комментарии:
1. Из объяснения создается впечатление, что слияние уменьшает сложность иерархии, которую оно не выводит, и изображение выходит за пределы представления или заставляет его отрисовываться на самом высоком уровне. У вас есть лучший пример этого?