【问题标题】:ImageView not fulfilling the entire Dialog ViewImageView 不满足整个对话框视图
【发布时间】:2016-09-23 09:43:15
【问题描述】:

我有以下布局:

<?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,但是这样做,对话框在屏幕中被拉伸,左右两边没有填充。

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

谢谢!

【问题讨论】:

  • 也许使用背景而不是 ImageView 会更好?
  • 可能是你的线性布局有填充,请写下你的完整xml
  • 对不起,我忘了添加整个 xml
  • 只需将线性中的 android:layout_width="320dp" 更改为 match_parent
  • 你的问题解决了吗?

标签: android android-layout


【解决方案1】:

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

【讨论】:

【解决方案2】:

这似乎是因为你的根视图有固定宽度 android:layout_width="320dp" 将其更改为 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" 

希望对你有帮助

【讨论】:

  • 这样做的问题是对话框失去了它的外边距(填充),被拉伸了。我需要边距大小与问题图像中的完全相同。照你说的做,把我带到这个:i.imgur.com/olCL0cM.png
  • 您的问题解决了吗?可能你的图像视图中需要 android:adjustViewBounds="true"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-14
  • 2011-03-21
  • 1970-01-01
相关资源
最近更新 更多