0

レイアウトに複数の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 も型に解決できません。

4

1 に答える 1

0

ライブラリにはと呼ばれるクラスがありませんShowCaseViews。クラスしかありませんShowCaseView

このgithub の例に従っている場合は、リンクで指定されたクラスが必要です

編集 さて、クラスを説明してみましょう

2クラスあります

  1. ShowcaseView (ライブラリ内)
  2. ShowcaseViews (Github の例)

ShowcaseView.ItemProperties持っていないのでなんとも言えShowcaseViewません。彼らはに属していShowcaseViewsます。したがって、それらを解決したり見つけたりすることはできません。

OnShowcaseEventListenerはまったく異なるクラスであり、これらのどちらにも含まれていませんが、個別に存在するため、ShowcaseView.OnShowcaseEventListener解決できないと言った場合にも当てはまります。

ShowcaseView.OnShowcaseEventListenerjustOnShowcaseEventListenerShowcaseView.ItemPropertiesto に変更ShowcaseViews.ItemProperties

于 2014-12-05T05:15:36.997 に答える