android - 具有 layout_weight 属性和 src 的 imageView 无法适应给定的尺寸

标签 android android-studio android-linearlayout android-imageview android-layout-weight

当我尝试在具有 layout_weight 和图像的 LinearLayout 中放置一个 ImageView 时,ImageView 会占据整个空间。

假设我有这样的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="10">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@color/blue"/>
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="8"
        android:adjustViewBounds="true"
        android:scaleType="fitCenter"
        android:background="@color/red"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@color/green"/>
</LinearLayout>

布局(屏幕上)如下所示:

(声望不足,无法发布图片,抱歉)

////////

BLUE LinearLayout(主布局的 1/10)

////////

RED ImageView(主布局的 8/10)

////////

绿色LinearLayout(主布局的1/10)

////////


但是如果我向 ImageView 添加图像(大图像...):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="10">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@color/blue"/>
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="8"
        android:adjustViewBounds="true"
        android:scaleType="fitCenter"
        android:background="@color/red"
        android:src="@drawable/splash"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@color/green"/>
</LinearLayout>

看起来像这样:

////////

RED ImageView(主布局的 10/10)- 带有图像......

////////

任何人都知道如何使 ImageView 的 src 适合给定的空间(主 LinearLayout 的 8/10) 谢谢。

最佳答案

显然这是 android studio 预览版的问题(在 android API 级别 19 之前)

当部署到设备上时,它运行完美......

关于android - 具有 layout_weight 属性和 src 的 imageView 无法适应给定的尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26778243/

相关文章:

Android Studio 在 Windows 8 中找不到 Java SDK

android - 如何在 Android 中使用位图作为背景从 LinearLayout 中删除黑条?

java - Android性能优化问题(Layout with JustifiedTextViews and CodeViews)

android - EditText 未收到 TAB 键事件 - stock soft vk

java - 在 Listview 适配器中添加项目后,notifyDataSetChanged() 不起作用

java - android studio,没有导入非android-studio项目选项

android - Android Studio 3.1.3 (2018) 上的 Gradle 项目同步失败

android - 更新 aar 文件不反射(reflect)更改

java - 如何显示网络变化状态的对话?

android - Android 问题中的布局