Искам да задам изображение вътре в 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