2

を使用してアクション バーのアイテムをターゲットにしましたが、 !ShowcaseViewの要素をターゲットにできません。ListView私はそれを試しましたが、うまくいきませんでした:

ShowcaseView sv = new ShowcaseView.Builder(this,true)
    .setTarget(new ViewTarget(lv.getChildAt(1).findViewById(R.id.heart)))
    // Here is where you supply the id of the action bar item you
    // want to display
    .setContentTitle("Heart")
    .setContentText("Check the venues of your city")
    .hideOnTouchOutside()
    .build();
4

1 に答える 1

1

とてもシンプルです。あなたの要素を取り、あなたの内部ViewHolderを表示するためのコードを配置します。ShowCaseViewbindView

リスト内の要素ごとに異なる ID を設定することを忘れないでください。

したがって、このようなことを試すことができます。

public class ViewHolder extends RecyclerView.ViewHolder {

  private TextView button;

  public ViewHolder(final View itemView) {
    super(itemView);
    button = (Button) itemView.findViewById(R.id.list_button);

    button.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        new MaterialShowcaseView.Builder(getActivity())
          .setTarget(verifyButton)
          .setDismissText("GOT IT")
          .setContentText("Your text goes here")
          .setDelay(100) // optional but starting animations immediately in onCreate can make them choppy
          .singleUse(id + " define an unique id for each item of the list") // provide a unique ID used to ensure it is only shown once
          .show();
        }
      });
    }
  }
}

詳細については、こちらのライブラリを確認してください

于 2016-04-06T07:08:19.320 に答える