Несколько витрин 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 класса
- ShowcaseView (в библиотеке)
- ShowcaseViews (в примере на Github)
Ты не можешь сказать ShowcaseView.ItemProperties
так как ShowcaseView
не имеет их Они принадлежат ShowcaseViews
, Следовательно, они не могут быть решены или найдены.
OnShowcaseEventListener
это совершенно другой класс, не содержащийся ни в одном из них, а просто существующий отдельно и, следовательно, также когда вы говорите ShowcaseView.OnShowcaseEventListener
это не может быть решено.
+ Изменить ShowcaseView.OnShowcaseEventListener
чтобы просто OnShowcaseEventListener
а также ShowcaseView.ItemProperties
в ShowcaseViews.ItemProperties