Несколько витрин android

Как я могу добавить несколько showcaseviews к моему макету... Я пробовал это:

import com.github.amlcurran.showcaseview.sample.R;

import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

public class MultipleShowcaseSampleActivity extends Activity {

    private static final float SHOWCASE_KITTEN_SCALE = 1.2f;
    private static final float SHOWCASE_LIKE_SCALE = 0.5f;
    //ShowcaseViews mViews;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sample_legacy);

        findViewById(R.id.buttonLike).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getApplicationContext(), R.string.like_message, Toast.LENGTH_SHORT).show();
            }
        });

        //mOptions.block = false;
//        mViews = new ShowcaseViews(this,
//                new ShowcaseViews.OnShowcaseAcknowledged() {
//            @Override
//            public void onShowCaseAcknowledged(ShowcaseView showcaseView) {
//                Toast.makeText(MultipleShowcaseSampleActivity.this, R.string.dismissed_message, Toast.LENGTH_SHORT).show();
//            }
//        });
//        mViews.addView( new ShowcaseViews.ItemViewProperties(R.id.image,
//                R.string.showcase_image_title,
//                R.string.showcase_image_message,
//                SHOWCASE_KITTEN_SCALE));
//        mViews.addView( new ShowcaseViews.ItemViewProperties(R.id.buttonLike,
//                R.string.showcase_like_title,
//                R.string.showcase_like_message,
//                SHOWCASE_LIKE_SCALE));
//        mViews.show();

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
            enableUp();
        }
    }

Вы можете увидеть часть комментария: Когда я раскомментирую Showcaseview, я не смог найти эти методы, поэтому, возможно, ShowcaseViews отсутствует, в любом случае я пытался скопировать и создать этот класс, но все еще нужны методы из showcaseview, которые не могут быть найдены.

Помоги мне.

Обновление: Хорошо, согласно ответу ниже, у меня есть проблема:

mViews = new ShowcaseView(this,
       new ShowcaseView.setOnShowcaseEventListener() {
    @Override
    public void onShowCaseAcknowledged(ShowcaseView showcaseView) {
        Toast.makeText(MultipleShowcaseSampleActivity.this, R.string.dismissed_message, Toast.LENGTH_SHORT).show();
    }
});
mViews.addView( new ShowcaseView.ItemViewProperties(R.id.image,
        R.string.showcase_image_title,
        R.string.showcase_image_message,
        SHOWCASE_KITTEN_SCALE));
mViews.addView( new ShowcaseView.ItemViewProperties(R.id.buttonLike,
        R.string.showcase_like_title,
        R.string.showcase_like_message,
        SHOWCASE_LIKE_SCALE));
mViews.show();

На новом ShowcaseView.setOnShowcaseEventListener() Невозможно разрешить тип, тогда новый ShowcaseView.ItemViewProperties Невозможно разрешить также тип.

1 ответ

В библиотеке нет ни одного класса ShowCaseViews, У него есть только класс ShowCaseView,

Если вы следуете этому примеру с github, вам нужно указать класс, указанный в ссылке

РЕДАКТИРОВАТЬ Хорошо, позвольте мне попытаться объяснить классы

Есть 2 класса

  1. ShowcaseView (в библиотеке)
  2. ShowcaseViews (в примере на Github)

Ты не можешь сказать ShowcaseView.ItemProperties так как ShowcaseView не имеет их Они принадлежат ShowcaseViews, Следовательно, они не могут быть решены или найдены.

OnShowcaseEventListener это совершенно другой класс, не содержащийся ни в одном из них, а просто существующий отдельно и, следовательно, также когда вы говорите ShowcaseView.OnShowcaseEventListener это не может быть решено.

+ Изменить ShowcaseView.OnShowcaseEventListener чтобы просто OnShowcaseEventListener а также ShowcaseView.ItemPropertiesв ShowcaseViews.ItemProperties

Другие вопросы по тегам