2016-11-03 3 views
1

В моем SlashActivity я использую только AndroidManifest и style, как сообщается здесь https://www.bignerdranch.com/blog/splash-screens-the-right-way/.Как использовать centerCrop в SplashActivity

И в SplashActivity Я хочу использовать splash.jpg, но это изображение меняется на размер экрана.

Как я могу использовать centerCrop в моем файле style или есть другие решения?

Мой drawble:

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

Если вы видите пример, он использовал layerlist для Drawable, один слой для фона и другой слой для логотипа центра обрезается –

+0

@MohammedAtif Я использую это тоже, я обновил свой код –

+0

, а затем в вашем теге второго тега добавьте высоту и ширину макета для обертывания содержимого и силы тяжести в качестве центра –

ответ

0

Я также следил за этим блогом, создавая экран заставки. Как правило, экран заставки имеет цвет фона и логотип вашего приложения, и вы можете установить его как фон. Таким образом, вы не должны требовать централизовать изображение в окне Splash. В случае, если это необходимо, я настоятельно рекомендовал бы отредактировать изображение, используя любой редактор, а не программно его делать.

+0

Вы имеете в виду mipmap? –

+0

Да. Мипмап - это главная иконка вашего приложения. Обычно используется. –

0

Возможно, вы захотите добавить отступы для вашего изображения всплеска.

Внутри тега элемента добавить android:top, android:bottom, android:right, android: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> 
+0

Я думаю, что это плохое решение. –