【问题标题】:Imageview not showing on Lollipop and MarshmallowImageview 未在 Lollipop 和 Marshmallow 上显示
【发布时间】:2016-04-19 07:27:40
【问题描述】:

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

帮助活动

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'


}

这是我的项目结构

【问题讨论】:

  • logcat 有什么错误吗?
  • 你试过换图片了吗..??
  • 把你的drawable从drawable文件夹放到drawawble-nodpi文件夹
  • @ankitagrawal 我没有 drawawble-nodpi 文件夹。我应该创建一个吗?
  • @RubinNellikunnathu 我没有更改图像

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    不要将您的图像放在可绘制文件夹中。如果您不希望 android 预先缩放您的图像放在

    res/drawable-nodpi/

    或者如果你有不同尺寸的图片,你可以把它放进去

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

    查看此链接了解更多详情 http://developer.android.com/guide/practices/screens_support.html

    【讨论】:

    • 这实际上解决了我的问题。图像为 1080x1920 和超过 500 kbs。将图像放入 drawable-nodpi 解决了我的问题。
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      改变

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

      作者:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-06-12
        • 1970-01-01
        • 1970-01-01
        • 2015-12-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多