Imageview 未显示在 Lollipop 和 Marshmallow 上

Imageview not showing on Lollipop and Marshmallow

我有一个非常简单的 activity 和 xml,它只显示一个 .png 文件,它填满了整个 activity。我已经在 KitKat 和 Ice Cream 中进行了测试。这是工作。然而,它不适用于 Lollipop 和 Marshmallow。我已经检查了其他答案,但它不是我要找的答案。 activity 对于这个非常简单。

帮助Activity

package com.pointwest.timetrackermobilelog.Activities;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

import com.pointwest.timetrackermobilelog.R;


public class HelpActivity extends AppCompatActivity {


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

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);

    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        Intent mainIntent = new Intent(this, MainActivity.class);
        startActivity(mainIntent);
    }

}

activity_help_material.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="fill"
    android:background="@color/blue_main"
    tools:context="com.pointwest.timetrackermobilelog.Activities.LoginActivity">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scaleType="fitXY"
        android:src="@drawable/help"/>

</LinearLayout>

只有这两个文件。

AndroidManifest.xml是这个

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.pointwest.timetrackermobilelog" >

    <uses-permission android:name="android.permission.INTERNET" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <uses-permission android:name="android.permission.GET_ACCOUNTS" />

    <uses-permission android:name="android.permission.USE_CREDENTIALS" />

    <!-- permission required to use Alarm Manager -->
    <uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>

    <application
        android:name=".WebServices.ApplicationClass"
        android:allowBackup="true"
        android:icon="@mipmap/tt_app_icon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.google.android.gms.analytics.globalConfigResource"
            android:value="@xml/pointwest_tracker" />

        <activity
            android:name=".Activities.LoginActivity"
            android:screenOrientation="portrait"
            android:label="@string/app_name" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".Activities.OpeningActivity" />
        </activity>
        <activity
            android:name=".Activities.MainActivity"
            android:label="@string/available_title"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="portrait"
            android:parentActivityName=".Activities.LoginActivity" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".Activities.LoginActivity" />
        </activity>
        <activity
            android:name=".Activities.OpeningActivity"
            android:screenOrientation="portrait"
            android:configChanges="orientation|keyboardHidden"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Activities.DemoActivity"
            android:screenOrientation="portrait"
            android:configChanges="orientation|keyboardHidden"
            android:label="@string/title_activity_demo" >
        </activity>
        <activity
            android:name=".Activities.ChooseActivity"
            android:label="@string/title_activity_choose"
            >
        </activity>

        <activity
            android:name=".Activities.ReminderActivity"
            android:screenOrientation="portrait"
            android:label="@string/title_reminder_activity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".Activities.MainActivity" />

    </activity>

    <activity
        android:name=".Activities.HelpActivity"
        android:screenOrientation="portrait"
        android:label="@string/title_help">

        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".Activities.MainActivity" />

    </activity>

    <service
        android:name="com.pointwest.timetrackermobilelog.BusinessServices.ConnectivityOutsideAppService"
        android:exported="false"/>

     <!--Register the Alarm Receiver -->
    <receiver android:name="com.pointwest.timetrackermobilelog.Utilities.NotificationReceiver"
        android:enabled="true" />

    <receiver android:name="com.pointwest.timetrackermobilelog.Utilities.ConnectivityOutsideAppReceiver"
        android:enabled="true"
        android:process=":remote">

        <intent-filter android:priority="1000" >
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
        </intent-filter>
    </receiver>



</application>

最后,build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.pointwest.timetrackermobilelog"
        vectorDrawables.useSupportLibrary = true
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 32
        versionName "1.0"
        multiDexEnabled true
    }

    repositories {
        maven { url "https://jitpack.io" }
        jcenter()
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    ext {
        supportLibVersion = '23.2'  // variable that can be referenced to keep support libs consistent
    }

//    dexOptions {
//        preDexLibraries = false
//        javaMaxHeapSize "4g" // Use gig increments depending on needs
//        incremental true
//    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.2.+'
    compile 'com.android.support:design:23.2.+'
    compile 'com.android.support:cardview-v7:23.2.+'
    compile 'com.android.support:recyclerview-v7:23.2.+'
    compile "com.android.support:support-v4:23.2.+"
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'com.jpardogo.materialtabstrip:library:1.1.0'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'io.realm:realm-android:0.82.0'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
    compile 'com.squareup.okhttp:okhttp:2.0.0'
    compile 'com.android.support:multidex:1.0.0'
//    compile 'com.github.navasmdc:MaterialDesign:1.5@aar'
    compile 'com.h6ah4i.android.materialshadowninepatch:materialshadowninepatch:0.6.3'
    compile 'me.zhanghai.android.materialprogressbar:library:1.1.5'
    compile 'com.code-troopers.betterpickers:library:2.5.3'


}

这是我的项目结构

将您的可绘制对象从 Drawable 文件夹移动到 Drawable-nodpi 文件夹

不要将图像放在可绘制文件夹中。如果您不想 android 预缩放您的图像,请将

res/drawable-nodpi/

或者如果您有不同尺寸的图像,您可以将其放入

  • res/drawable-mdpi/
  • res/drawable-hdpi/
  • res/drawable-xhdpi/
  • res/drawable-xxhdpi/

检查此 link 了解更多详情 http://developer.android.com/guide/practices/screens_support.html

除了ferdi_nb所说的 fill_parent 已折旧,将其替换为 match_parent 应该可以完成您的工作。请按照ferdi_nb的建议制作文件夹,然后更改此属性。

改变

android:src="@drawable/help"/>

作者:

android:background="@drawable/help"/>