2016-06-27 2 views
0

Я работаю над проектом Android, в котором я работаю над кодом экрана всплеска, но изображение всплеска не отображается на весь экран моего мобильного телефона. Мой код для деятельности: -заставка не отображается на весь экран на мобильном телефоне

public class SplashPresenter extends MvpBasePresenter<SplashView> { 

    @Override public void attachView(SplashView view) { 
     super.attachView(view); 
     new Handler().postDelayed(new Runnable() { 
      @Override public void run() { 
       launch(); 
      } 
     }, 2000); 
    } 

    @Override public void detachView(boolean retainInstance) { 
     super.detachView(retainInstance); 
    } 

    private void launch() { 
     String imei = ImeiUtil.getIMEI(); 

     List<ActivationInfo> infos = ActivationInfo.listAll(ActivationInfo.class); 
     if (infos.size() == 1) { 
      ActivationInfo info = infos.get(0); 
/* 
      Log.d("I: ", "I: " + info.getBusinessName()); 
      Log.d("I: ", "I: " + info.getMobileNumber()); 
      Log.d("I: ", "I: " + info.getImei()); 
      Log.d("I: ", "I: " + imei); 
      Log.d("I: ", "S: " + info.getStatus()); 
*/ 
      if (info.getStatus() == 1 && info.getImei().equalsIgnoreCase(imei)) { 
       getView().start(HomeActivity.class); 
      } else { 
       //getView().start(ActivationActivity.class); 
      getView().start(HomeActivity.class); 
      } 
     } else { 
      getView().start(HomeActivity.class); 
     // getView().start(RegisterActivity.class); 
     } 
    } 

и код XML является, который я показал здесь

<RelativeLayout 
    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" 
    tools:context=".MainActivity"> 

    <ImageView 
     android:contentDescription="@string/splash_image" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:adjustViewBounds="true" 
     android:scaleType="centerCrop" 
     android:src="@drawable/splash_english"/> 

</RelativeLayout> 
+2

показать свои res/style.xml и файл манифеста – Khan

+0

вы можете предоставить скриншот? – Piyush

ответ

0

Реализация в заставках правильный путь немного иначе, чем вы можете себе представить. Взгляд всплеска, который вы видите, должен быть готов немедленно, даже до того, как вы сможете раздуть файл макета в своей активности всплеска. вы не будете использовать файл макета. Вместо этого укажите фон вашего заставки в качестве фона темы мероприятия. Для этого сначала создайте XML-drawable в res/drawable. Это xml-файл.

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

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

    <item> 
     <bitmap 
      android:gravity="center" 
      android:src="@mipmap/ic_launcher"/> 
    </item> 

</layer-list> 

Затем вы установите это как фоновый фон своей деятельности в теме. Перейдите к файлу styles.xml и добавить новую тему для выплеска деятельности:

<resources> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
    </style> 

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

</resources> 

вашего класс SplashActivity должен только вперед вас вместе с вашей основной деятельностью:

public class SplashActivity extends AppCompatActivity { 

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

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

Исходный код всем доступен здесь для скачивания https://github.com/shubhamsharmacs/Splash

0
<RelativeLayout 
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" 
tools:context=".MainActivity"> 

<ImageView 
    android:contentDescription="@string/splash_image" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:adjustViewBounds="true" 
    android:scaleType="centerCrop" 
    android:src="@drawable/splash_english" 
    android:minHeight="1000dp" 
    android:minWidth="1000dp"/> 

</RelativeLayout> 
0

Если вы просто хотите изображение, чтобы заполнить экран, изменить андроид: scaleType к чему-то вроде fitXY. Опираясь на minHeight и minWidth и используя centerCrop, вы не будете очень хорошо охватывать вас на разных размерах устройства. Лучше решение, разрабатывать изображения с лучшими размерами или на основе использования XML

вводимого коэффициента
0

Добавить эту строку в OnCreate метод деятельности

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
Смежные вопросы