Imageview没有在Lollipop和Marshmallow上展示

时间:2016-04-19 07:27:41

标签: android android-layout android-5.0-lollipop android-xml android-6.0-marshmallow

我有这个非常简单的活动和xml,只显示一个填充整个活动的.png文件。我在KitKat和冰淇淋中测试过。这是工作。然而,它不适用于Lollipop和Marshmallow。我检查了其他答案,但它不是我要找的那个。这项活动非常简单。

帮助活动

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'


}

这是我的项目结构

project structure

4 个答案:

答案 0 :(得分:3)

将您的drawable从Drawable文件夹移动到Drawable-nodpi文件夹

答案 1 :(得分:1)

不要将图像放在可绘制文件夹中。如果你不想让android预先缩放你的图像

  

RES /抽拉-nodpi /

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

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

查看此链接以获取更多详细信息 http://developer.android.com/guide/practices/screens_support.html

答案 2 :(得分:1)

除了ferdi_nb所说的 fill_parent已被折旧,用match_parent替换它应该做你的工作。请按照ferdi_nb的建议制作文件夹,然后更改此属性。

答案 3 :(得分:1)

更改

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

由:

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