如何在SplashActivity中使用centerCrop

时间:2016-11-03 12:50:32

标签: android bitmap styles android-manifest

在我的SlashActivity我只使用AndroidManifeststyle,如此处https://www.bignerdranch.com/blog/splash-screens-the-right-way/所述。

SplashActivity中,我想使用splash.jpg,但此图片会更改为屏幕尺寸。

如何在centerCrop文件中使用style或是否有其他解决方案?

我的抽签:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item
    android:drawable="@color/colorMaterialWhite"/>

<item>
    <bitmap
        android:gravity="center"
        android:src="@drawable/splash" />
</item>
</layer-list>

AndroidManifest:

        <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>

SplashActivity:

public class SplashActivity extends AppCompatActivity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = new Intent(this, NavigationActivity.class);
    startActivity(intent);
    finish();
 }
}

风格:

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowBackground">@drawable/background_splash</item>
</style>

2 个答案:

答案 0 :(得分:0)

我在创建Splash屏幕时也关注了这个博客。通常,启动画面具有背景颜色和应用程序的徽标,您可以将其设置为背景。因此,您不应要求在Splash屏幕中对图像进行centerCrop。如果有需要,我强烈建议使用任何编辑器编辑图像,而不是以编程方式进行编辑。

答案 1 :(得分:0)

您可能希望在启动图像中添加填充。

在商品标记内添加android:topandroid:bottomandroid:rightandroid:left

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item
    android:drawable="@color/colorMaterialWhite"/>

<item
   android:top="200dp"
   android:bottom="200dp"
   android:left="200dp"
  android:right="200dp">
    <bitmap
        android:gravity="center"
        android:src="@drawable/splash" />
</item>
</layer-list>