0

如何在我的布局中添加多个展示视图......我试过这个:

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();

在 new ShowcaseView.setOnShowcaseEventListener() 上无法解析为类型,然后 new ShowcaseView.ItemViewProperties 也无法解析为类型。

4

1 回答 1

0

没有任何名为ShowCaseViews. 它只有一个类ShowCaseView

如果您正在关注github 示例,则必须具有链接中给出的类

编辑好吧,让我试着解释一下课程

有2个班

  1. ShowcaseView(在库中)
  2. ShowcaseViews(在 Github 上的示例中)

你不能说ShowcaseView.ItemProperties因为ShowcaseView没有它们。他们属于ShowcaseViews. 因此,它们无法解决或找到。

OnShowcaseEventListener是一个完全不同的类,不包含在其中任何一个中,而是单独存在,因此当您说它ShowcaseView.OnShowcaseEventListener无法解决时。

ShowcaseView.OnShowcaseEventListener改为justOnShowcaseEventListenerShowcaseView.ItemPropertiestoShowcaseViews.ItemProperties

于 2014-12-05T05:15:36.997 回答