我有这个非常简单的活动和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'
}
这是我的项目结构
答案 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"/>