Первый запуск Учебник в Android - Показать случай с фрагментом
После долгих поисков я нашел хороший репозиторий на Github, который показывает то, что я хочу, но проблема в том, что я использую фрагменты в своем приложении, и я не знаю, как использовать библиотеку! в моей первой попытке это дает мне следующую ошибку
"java.lang.IllegalArgumentException: width and height must be > 0"
Я нашел решение ЗДЕСЬ, но теперь оно не показывает что-то.(На самом деле демонстрационный экран не отображается) может ли какой-нибудь фрагмент кода, который отлично работает с фрагментом? или помогите как решить это?
Благодарю.
1 ответ
Решение
Эй человек только что сделал образец для вас
я буквально ничего не сделал, просто использовал библиотеку внутри onCreateView, и это сработало
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
new ShowcaseView.Builder(getActivity())
.setTarget(new ActionViewTarget(getActivity(), ActionViewTarget.Type.HOME))
.setContentTitle("ShowcaseView")
.setContentText("This is highlighting the Home button")
.hideOnTouchOutside()
.build();
return rootView;
}
Обновление вопроса в комментарии
просто добавьте свой код в метод onActivityCreated, проверьте созданный образец
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState==null){
View view = getActivity().findViewById(R.id.hometxv);
view.post(new Runnable() {
@Override
public void run() {
if (isAdded()) {
ShowcaseView sv;
ViewTarget target=new ViewTarget(R.id.hometxv,getActivity());
RelativeLayout.LayoutParams lps = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lps.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
lps.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
int margin = ((Number) (getResources().getDisplayMetrics().density * 12)).intValue();
lps.setMargins(margin, margin, margin, margin);
sv = new ShowcaseView.Builder(getActivity(), true)
.setTarget(target)
.setContentTitle("hold up")
.setContentText("smoke weed everyday")
.setShowcaseEventListener(new OnShowcaseEventListener() {
@Override
public void onShowcaseViewHide(ShowcaseView showcaseView) {
}
@Override
public void onShowcaseViewDidHide(ShowcaseView showcaseView) {
}
@Override
public void onShowcaseViewShow(ShowcaseView showcaseView) {
}
})
.build();
sv.setButtonPosition(lps);
}
}
});
}
}
наслаждайся:D