Android - ImageView 空白(仅限 xml)

Android - ImageView blank (xml only)

我的新项目遇到了一个奇怪的问题,我无法在 activity 上显示图像。 ImageView 显示一个空白方块。

screenshot

如果我尝试使用黑色背景和透明图片,我可以看到显示为白色的图片,即使它应该是彩色的。 但是如果我尝试使用没有透明度的多色图片,它只会显示一个空白方块。

我在模拟器上试过 phone 结果完全一样。

我检查了 Whosebug 上的所有相关帖子,但没有任何有效的解决方案。

我的来源:

我在res/drawable/test2.png中添加了一张小图片

这是我的(非常基本的)activity 代码/activity_main.xml:

<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/colorPrimaryDark">
    <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/test2"
    />
</LinearLayout>

我的Activity: public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

清单:

    <application
            android:name=".Application"
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">

        <activity
                android:name=".activity.MainActivity"
                android:label="@string/title_activity_main"
                android:theme="@style/AppTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

    </application>

</manifest>

还有我的构建文件: 应用插件:'com.android.application'

android {
    compileSdkVersion 27
    buildToolsVersion "27.0.3"
    defaultConfig {
        applicationId "com.test.myappid"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:27.1.1'
    compile 'com.android.support:design:27.1.1'
    compile 'com.evernote:android-job:1.2.4'
    compile 'com.android.volley:volley:1.1.0'
    testCompile 'junit:junit:4.12'
    androidTestCompile('com.android.support.test.espresso:espresso-core:3.0.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
}

感谢您的帮助!

你可以尝试使用

android:scaleType:"centreInside"

看看这是否是缩放问题?另外,图像的尺寸是多少?

老老实实用glide来管理图片吧!这样长的 运行 管理图片会更容易!

https://github.com/bumptech/glide

还要确保设置以下代码以进行缓存优化

  @Override public void applyOptions(Context context, GlideBuilder builder) {
      builder.setMemoryCache(new MemoryCacheAdapter());
  }

好吧,不好意思,我刚才复制/粘贴失败了。

我的 style.xml 里有这个:

<item name="android:tint">@color/colorLight</item>

删除它解决了问题。