как да зададете изображение вътре в рамката

Искам да задам изображение вътре в FrameLayout, но припокрива фона на оформлението на рамката

в момента как изглежда


person PriyankaChauhan    schedule 27.09.2016    source източник
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
comment
XML файлът е неправилен. в тази последователност дете 3 отива първо в стека (под всички), дете 2 отива второ в стека (над дете 3) и накрая дете 1 отива последно в стека (над всеки друг елемент) - person Ricardo; 27.09.2016
comment
добре сър. имената може да се променят. ID наистина няма значение тук, след като получи оформлението, което искаше. благодаря ви за съвета. - person Amit Vaghela; 27.09.2016
comment
Споменах го само заради xml описанието на това как ще бъдат поставени децата, което не съвпада с кода (идентификаторите, които сте им дали). Само за по-добро разбиране, това е всичко - person Ricardo; 27.09.2016
comment
актуализирах отговора си. - 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
comment
Това не е правилно, тъй като последното дете винаги се поставя отгоре, но вие споменахте вашето фоново изображение с ширина и височина, за да съответства на родител - person Atef Farouk; 01.06.2020