2015-04-29 1 views
0

Я использую великолепную библиотеку представлений витрины в своем приложении, и это потрясающе, но, к сожалению, макет перепутался на небольших экранах на небольших экранах, я думаю, что это проблема в моей реализации, но я не мог " t выяснить, как это исправить.Проблемы с показом витрины на маленьком экране

example

и код в одном из моих мероприятий выглядит следующим образом:

if(showcase_flag == 1){ 
      mPlusButton.setClickable(false); 
      guide.setVisibility(View.INVISIBLE); 
      final RelativeLayout.LayoutParams lps = new RelativeLayout.LayoutParams(
        ViewGroup.LayoutParams.WRAP_CONTENT, 
        ViewGroup.LayoutParams.WRAP_CONTENT); 
      lps.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
      lps.addRule(RelativeLayout.ALIGN_PARENT_LEFT); 
      lps.setMargins(40,0,0,160); 

      mViews1 = new ShowcaseView.Builder(this) 
        .setStyle(R.style.CustomShowcaseTheme3) 
        .setContentTitle("Welcome to listo") 
        .setContentText("The best way to share your to-do lists\nand manage them in just a few clicks!") 
        .setOnClickListener(new View.OnClickListener() { 
         @Override 
         public void onClick(View v) { 

          if(showcase_num == 0){ 
           showcase_num++; 
           mViews1.setTarget(new ViewTarget(R.id.fab,MainActivity.this)); 
           mViews1.setContentTitle("Manage your lists"); 
           mViews1.setContentText("Press on the plus button to add a new list.\nLong press on a list to exit from it, rename, mute or delete it." + 
             "\n\nAt both sides of the list's name you can see the number of participants and tasks on it."); 
           mViews1.setButtonText("Got it!"); 

          }else{ 
           mViews1.hide(); 
           mViews1.destroyDrawingCache(); 
           mPlusButton.setClickable(true); 

           updateList(); 

           SharedPreferences.Editor editor = prefs.edit(); 
           editor.putInt("showcase_key", 0); 
           editor.commit(); 
          } 

         } 
        }) 
        .doNotBlockTouches() 
        .build(); 

      mViews1.setButtonText("I'm ready"); 
      mViews1.setButtonPosition(lps); 
     }else { 
      updateList(); 
     } 

ответ

0

К сожалению, это не проблема с реализацией, это проблема с библиотекой. Это не очень умно, пытаясь сжать все на маленьком экране. Я буду держать этот вопрос в виду, поскольку я в настоящее время его переписываю!

+0

Я так рад, что вы добавили здесь ответ ... так что я думаю, что единственное решение прямо сейчас состоит в том, чтобы заблокировать устройства с маленькими экранами от загрузки моего приложения, по крайней мере, до тех пор, пока вы не опубликуете новый livrary. – kitsuneFox

+0

У меня есть еще один крупный problem..please help me: На некоторых устройствах я получаю ошибку IllegalArgumentException: Макет: -999552 <0, что это такое и как его исправить? – kitsuneFox