来自parentLayout的ImageView(RelativeLayout)

时间:2017-03-20 11:10:26

标签: android android-layout android-imageview android-relativelayout android-framelayout

我在Framelayout中有一个imageView,而FrameLayout在RelativeLayout中。我正在使用Glide在imageView中加载图像。但是,不是图像进入父级,而是在parentLayout(RelativeLayout)之外。这是布局的屏幕截图。

enter image description here

正如您所见,黑色框架是parentlayout(RelativeLayout)。图像出现在布局中。这是布局的xml代码。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/menuLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp"
tools:context="com.ignite.a01hw909350.kolamdemo.MenuActivity">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="50"
    android:orientation="vertical"
    android:clipToPadding="false"
    android:background="@drawable/menuframe">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <me.zhanghai.android.materialprogressbar.MaterialProgressBar
            android:id="@+id/progressView"
            style="@style/Widget.MaterialProgressBar.ProgressBar.Large"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:indeterminate="true" />

        <ImageView
            android:id="@+id/dailyKolam"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:adjustViewBounds="true"
            android:scaleType="fitXY"/>
    </FrameLayout>
</RelativeLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="10"
    android:orientation="horizontal"
    android:padding="10dp">

    <ImageView
        android:id="@+id/activity"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:src="@android:drawable/ic_dialog_info" />

    <ImageView
        android:id="@+id/calendar"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:src="@android:drawable/ic_menu_my_calendar" />

    <ImageView
        android:id="@+id/music"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:adjustViewBounds="true"
        android:src="@android:drawable/ic_media_play" />
</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="40"
    android:gravity="center"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:id="@+id/gallery"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Gallery" />

        <Button
            android:id="@+id/scanAndDraw"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Scan" />
    </LinearLayout>

</LinearLayout>

请告诉我问题出在哪里。

1 个答案:

答案 0 :(得分:1)

相对布局的边界包括黑框的边框。图像在RelativeLayout的范围内。如果您希望它在黑框内,您应该在ImageView的所有边上应用填充。填充量必须通过反复试验确定,并且对于不同的移动屏幕尺寸将有所不同。