我在启动画面活动中使用了一个图像作为LinearLayout的背景,但它显示不适合屏幕。我不知道如何使用属性来拉伸它。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_splash"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.myproject.SplashActivity"
android:orientation="horizontal"
android:background="@drawable/my_image_background">
</LinearLayout>
答案 0 :(得分:2)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_splash"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.myproject.SplashActivity"
android:orientation="horizontal"
android:background="@drawable/my_image_background">
<ImageView
android:scaleType="fitXY"
android:src="@drawable/my_image_background"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
使用ImageView并使用属性scaleType
。这会自动适合任何屏幕分辨率。
-----更新-------
正如Ahamed所建议的那样,如果你想在布局中添加更多的视图,最好使用RelativeLayout
(因为它会叠加你的视图)。考虑下面的RelativeLayout实现。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_splash"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:scaleType="fitXY"
android:src="@drawable/my_image_background"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<!-- Add other views depending on your screen specs -->
</RelativeLayout>
答案 1 :(得分:1)
正确的方法是这样使用它,在styles.xml中添加:
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/splash</item>
</style>
在您的清单文件中添加此
<activity
android:name=".SplashActivity"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
和@ drawable / splash可能就像
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">
<!-- The background color, preferably the same as your normal theme -->
<item android:drawable="@drawable/splashscreen"/>
<!-- Your product logo - 144dp color version of your app icon -->
<item>
<bitmap
android:src="@drawable/splash_logo"
android:gravity="center"/>
</item>
</layer-list>
答案 2 :(得分:1)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/dighsplash">
</LinearLayout>
尝试这种方式。
答案 3 :(得分:1)
最好将ImageView用于图像,因此我更改了您的布局,如下所示。它可以像你期望的那样工作。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_splash"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
tools:context="com.myproject.SplashActivity">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:src="@drawable/my_image_background" />
</LinearLayout>
答案 4 :(得分:1)
使用此:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_splash"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.myproject.SplashActivity"
android:fitSystemWindows="true"
android:orientation="horizontal"
android:scaleType="fitXY"
android:background="@drawable/my_image_background">
此代码绝对适合您的屏幕。
答案 5 :(得分:1)
首先检查图像my_image_background
两边是否有空格。如果没有,你的代码就可以了......否则你也可以尝试这个代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_splash"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.myproject.SplashActivity"
android:orientation="vertical"
android:layout_alignParentRight="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:background="@drawable/my_image_background">
</RelativeLayout>
答案 6 :(得分:0)
如果scaleType =&#34; fitxy&#34;请尝试以下操作:没有使用imageview。
<强>机器人:fitSystemWindows =&#34;真&#34; 强>
$.ajax({
type: "POST",
url: "controller/Action",
data: "",
success: function (wrapperObj) {
console.log(wrapperObj.success); // this will be your isSuccess flag.
if(wrapperObj.success)
{
console.log(wrapperObj.data); // this will be your obj.
}
}
})