Я хочу установить изображение внутри FrameLayout
, но оно перекрывает фон кадра.
как установить изображение внутри framelayout
comment
Изменить порядок изображений в Framelayout. Вы размещаете изображение как последнее в FrameLayout. Сначала вы размещаете изображение и размещаете другие элементы.
- person Naveen Kumar M   schedule 27.09.2016
Ответы (2)
Это пример, https://snag.gy/IrawbT.jpg
последний элемент, помещенный в стек, будет отображаться поверх элементов, находящихся под ним. Этот макет позволяет очень легко рисовать поверх других макетов, особенно для таких задач, как размещение кнопок.
Чтобы упорядочить дочерние элементы внутри
FrameLayout
, используйте атрибутandroid:layout_gravity
вместе с любымиandroid:padding
иandroid:margin
, которые вам нужны.
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frame_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- Child1 is drawn first -->
<!-- Child2 is drawn over Child1 -->
<!-- Child3 is drawn over Child1 and Child2 -->
<TextView
android:id="@+id/child1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:text="Child 3"
android:textSize="25sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/child2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:layout_margin="40dip"
android:src="@color/childs"
android:text="Child 2" />
<ImageView
android:id="@+id/child3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="Image"
android:src="@color/_dark_gray" />
</FrameLayout >
person
Amit Vaghela
schedule
27.09.2016
XML неверный. в этой последовательности ребенок 3 идет первым в стеке (ниже всех), ребенок 2 идет вторым в стеке (выше ребенка 3) и, наконец, ребенок 1 идет последним в стеке (над каждым другим элементом)
- person Ricardo; 27.09.2016
хорошо, сэр. имена могут измениться. id действительно не имеет значения, как только он получит макет, который хотел. Спасибо за совет.
- person Amit Vaghela; 27.09.2016
Я упомянул об этом только из-за XML-описания того, как будут размещены дочерние элементы, которые не соответствуют коду (идентификаторы, которые вы им дали). Просто для лучшего понимания, вот и все
- person Ricardo; 27.09.2016
я обновил свой ответ.
- person Amit Vaghela; 27.09.2016
это один из способов добиться желаемого
<FrameLayout>
<ImageView>
<- Your background image with width and height to match parent ->
<ImageView>
<-this is where you put your image->
</FrameLayout>
person
Ricardo
schedule
27.09.2016
Это неправильно, так как последний дочерний элемент всегда помещается сверху, однако вы упомянули свое фоновое изображение с шириной и высотой, чтобы соответствовать родителю.
- person Atef Farouk; 01.06.2020