ImageView无法完成整个Dialog View

时间:2016-05-25 16:34:24

标签: android android-layout

我有以下布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="320dp"
    android:layout_height="wrap_content"
    android:background="@color/md_white_1000"
    android:layout_gravity="center_horizontal"
    android:paddingBottom="16dp">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:layout_gravity="center">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:src="@drawable/bg_kids_popup"
            android:scaleType="fitXY"
            />


        <ImageView
            android:layout_marginTop="16dp"
            android:id="@+id/dialog_kids_image"
            android:src="@drawable/pic_baby_crown"
            android:layout_gravity="center_horizontal"
            android:layout_width="120dp"
            android:layout_height="120dp" />


    </FrameLayout>

    <TextView
        android:layout_marginTop="24dp"
        android:id="@+id/dialog_kids_hi"
        android:text="Oii,\nApresente seus pequenos pra gente!"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:textSize="24sp"
        android:textColor="@color/dinda_color_dark"
        android:gravity="center"
        android:textStyle="bold"
        />

    <TextView
        android:id="@+id/dialog_kids_custom_offers"
        android:layout_marginTop="10dp"
        android:text="Cadastre as crianças para quem você compra na Dinda e recebe ofertas personalizadas ;)"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:gravity="center"
        android:textSize="13sp"
        />

    <Button
        android:id="@+id/dialog_kids_go_kids"
        style="?android:attr/borderlessButtonStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="16dp"
        android:background="@drawable/shape_oval_kids_button"
        android:layout_marginLeft="28dp"
        android:layout_marginRight="28dp"
        android:text="@string/kids_register_now"
        android:textAllCaps="true"
        android:textAppearance="@style/Widget.AppTheme.Button.TextAppearance"
        android:textColor="@color/md_white_1000"
        android:textSize="14sp" />

</LinearLayout>

查看下面的图像,灰色区域未满足整个对话框。我尝试将FrameLayout设置为match_parent但是执行此操作后,对话框会在屏幕中拉伸,而左边和右边没有填充。

我应该如何继续保持对话框填充(屏幕 - 对话框),但要使背景图像满足内部区域?

谢谢!

enter image description here

2 个答案:

答案 0 :(得分:0)

我能看到的唯一问题是你有FrameLayout的硬编码宽度试试这个android:layout_width =“match_parent”

答案 1 :(得分:0)

这似乎发生了这种情况,因为你的根视图有修复宽度android:layout_width =&#34; 320dp&#34;将它更改为match_parent,并将framelayout更改为match_parent或以实用方式执行

 FrameLayout fl = (FrameLayout) findViewById(R.id.frameLayout);
    fl.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

如果您在拉伸图像方面遇到任何问题

android:scaleType="centerCrop" 

我希望这可以帮到你