androidx.appcompat.widget.TooltipCompat Java Examples
The following examples show how to use
androidx.appcompat.widget.TooltipCompat.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: NowPlayingView.java From odyssey with GNU General Public License v3.0 | 6 votes |
/** * Set the viewswitcher of cover/playlist view to the requested state. * * @param view the view which should be displayed. */ public void setViewSwitcherStatus(NowPlayingDragStatusReceiver.VIEW_SWITCHER_STATUS view) { int color = 0; switch (view) { case COVER_VIEW: // change the view only if the requested view is not displayed if (mViewSwitcher.getCurrentView() != mCoverImage) { mViewSwitcher.showNext(); } color = ThemeUtils.getThemeColor(getContext(), R.attr.odyssey_color_text_accent); TooltipCompat.setTooltipText(mTopPlaylistButton, getResources().getString(R.string.action_npv_show_playlist)); break; case PLAYLIST_VIEW: // change the view only if the requested view is not displayed if (mViewSwitcher.getCurrentView() != mPlaylistView) { mViewSwitcher.showNext(); } color = ThemeUtils.getThemeColor(getContext(), R.attr.colorAccent); TooltipCompat.setTooltipText(mTopPlaylistButton, getResources().getString(R.string.action_npv_show_cover)); break; } // tint the button according to the requested view mTopPlaylistButton.setImageTintList(ColorStateList.valueOf(color)); }
Example #2
Source File: BottomNavigationItemView.java From material-components-android with Apache License 2.0 | 6 votes |
@Override public void initialize(@NonNull MenuItemImpl itemData, int menuType) { this.itemData = itemData; setCheckable(itemData.isCheckable()); setChecked(itemData.isChecked()); setEnabled(itemData.isEnabled()); setIcon(itemData.getIcon()); setTitle(itemData.getTitle()); setId(itemData.getItemId()); if (!TextUtils.isEmpty(itemData.getContentDescription())) { setContentDescription(itemData.getContentDescription()); } CharSequence tooltipText = !TextUtils.isEmpty(itemData.getTooltipText()) ? itemData.getTooltipText() : itemData.getTitle(); TooltipCompat.setTooltipText(this, tooltipText); setVisibility(itemData.isVisible() ? View.VISIBLE : View.GONE); }
Example #3
Source File: NavigationMenuItemView.java From material-components-android with Apache License 2.0 | 6 votes |
@Override public void initialize(@NonNull MenuItemImpl itemData, int menuType) { this.itemData = itemData; if (itemData.getItemId() > 0) { setId(itemData.getItemId()); } setVisibility(itemData.isVisible() ? VISIBLE : GONE); if (getBackground() == null) { ViewCompat.setBackground(this, createDefaultBackground()); } setCheckable(itemData.isCheckable()); setChecked(itemData.isChecked()); setEnabled(itemData.isEnabled()); setTitle(itemData.getTitle()); setIcon(itemData.getIcon()); setActionView(itemData.getActionView()); setContentDescription(itemData.getContentDescription()); TooltipCompat.setTooltipText(this, itemData.getTooltipText()); adjustAppearance(); }
Example #4
Source File: SearchStringPreferenceFragmentX.java From PhoneProfilesPlus with Apache License 2.0 | 6 votes |
@Override protected void onBindDialogView(View view) { super.onBindDialogView(view); editText = view.findViewById(R.id.search_string_pref_dlg_editText); editText.setText(preference.value); final ImageView helpIcon = view.findViewById(R.id.search_string_pref_dlg_helpIcon); TooltipCompat.setTooltipText(helpIcon, getString(R.string.help_button_tooltip)); helpIcon.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String helpString = "\u2022 " + getString(R.string.pref_dlg_info_about_wildcards_1) + "\n" + "\u2022 " + getString(R.string.pref_dlg_info_about_wildcards_5) + "\n" + "\u2022 " + getString(R.string.pref_dlg_info_about_wildcards_2) + " " + getString(R.string.calendar_pref_dlg_info_about_wildcards) + " " + getString(R.string.pref_dlg_info_about_wildcards_6) + ", " + getString(R.string.pref_dlg_info_about_wildcards_3) + "\n" + "\u2022 " + getString(R.string.pref_dlg_info_about_wildcards_4) ; DialogHelpPopupWindowX.showPopup(helpIcon, R.string.menu_help, (Activity)prefContext, getDialog(), helpString); } }); }
Example #5
Source File: ARVelocityActivity.java From science-journal with Apache License 2.0 | 5 votes |
public void attachSnapshotButton(View snapshotButton) { // Pass in the velocity ID to take a snapshot of just the velocity sensor. List<String> ids = new ArrayList<>(); ids.add(VelocitySensor.ID); snapshotButton.setOnClickListener( v -> { Snapshotter snapshotter = new Snapshotter( singleton.getRecorderController(appAccount), singleton.getDataController(appAccount), singleton.getSensorRegistry()); singleton .getRecorderController(appAccount) .watchRecordingStatus() .firstElement() .flatMapSingle(status -> snapshotter.addSnapshotLabel(experimentId, status, ids)) .subscribe( (Label label) -> singleton.onLabelsAdded().onNext(label), (Throwable e) -> { if (Log.isLoggable(TAG, Log.DEBUG)) { Log.d(TAG, Throwables.getStackTraceAsString(e)); } }); }); TooltipCompat.setTooltipText( snapshotButton, getResources().getString(R.string.snapshot_button_description)); }
Example #6
Source File: OtherVersionWidget.java From aptoide-client-v8 with GNU General Public License v3.0 | 5 votes |
@Override public void bindView(OtherVersionDisplayable displayable, int position) { this.displayable = displayable; setItemBackgroundColor(itemView); try { final App app = displayable.getPojo(); appId = app.getId(); storeName = app.getStore() .getName(); packageName = app.getPackageName(); version.setText(app.getFile() .getVername()); TooltipCompat.setTooltipText(version, app.getFile() .getVername()); version.setOnClickListener(v -> navigateToAppView()); setBadge(app); date.setText(AptoideUtils.DateTimeU.getInstance(getContext()) .getTimeDiffString(getContext(), app.getModified() .getTime(), getContext().getResources())); downloads.setText(String.format(DEFAULT_LOCALE, getContext().getString(R.string.other_versions_downloads_count_text), AptoideUtils.StringU.withSuffix(app.getStats() .getDownloads()))); ImageLoader.with(getContext()) .load(app.getStore() .getAvatar(), storeIcon); storeNameView.setText(app.getStore() .getName()); followers.setText(String.format(DEFAULT_LOCALE, getContext().getString(R.string.appview_followers_count_text), app.getStore() .getStats() .getSubscribers())); } catch (NullPointerException e) { CrashReport.getInstance() .log(e); } }
Example #7
Source File: BottomNavigationItemView.java From material-components-android with Apache License 2.0 | 5 votes |
@Override public void setTitle(CharSequence title) { smallLabel.setText(title); largeLabel.setText(title); if (itemData == null || TextUtils.isEmpty(itemData.getContentDescription())) { setContentDescription(title); } CharSequence tooltipText = itemData == null || TextUtils.isEmpty(itemData.getTooltipText()) ? title : itemData.getTooltipText(); TooltipCompat.setTooltipText(this, tooltipText); }
Example #8
Source File: ConversationListActivity.java From deltachat-android with GNU General Public License v3.0 | 5 votes |
@Override protected void onCreate(Bundle icicle, boolean ready) { ApplicationDcContext dcContext = DcHelper.getContext(this); // add welcome message dcContext.updateDeviceChats(); // update messages - for new messages, do not reuse or modify strings but create new ones. // it is not needed to keep all past update messages, however, when deleted, also the strings should be deleted. DcMsg msg = new DcMsg(dcContext, DcMsg.DC_MSG_TEXT); msg.setText(getString(R.string.update_1_10_android) + "\n\n" + "https://delta.chat/en/2020-06-24-releases"); dcContext.addDeviceMsg("update_1_10b_android", msg); // addDeviceMessage() makes sure, messages with the same id are not added twice // create view setContentView(R.layout.conversation_list_activity); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); title = findViewById(R.id.toolbar_title); searchToolbar = findViewById(R.id.search_toolbar); searchAction = findViewById(R.id.search_action); fragmentContainer = findViewById(R.id.fragment_container); Bundle bundle = new Bundle(); conversationListFragment = initFragment(R.id.fragment_container, new ConversationListFragment(), dynamicLanguage.getCurrentLocale(), bundle); initializeSearchListener(); TooltipCompat.setTooltipText(searchAction, getText(R.string.search_explain)); refresh(); }
Example #9
Source File: ApplicationsDialogPreferenceFragmentX.java From PhoneProfilesPlus with Apache License 2.0 | 5 votes |
@Override protected void onBindDialogView(View view) { super.onBindDialogView(view); AppCompatImageButton addButton = view.findViewById(R.id.applications_pref_dlg_add); TooltipCompat.setTooltipText(addButton, getString(R.string.applications_pref_dlg_add_button_tooltip)); RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getContext()); applicationsListView = view.findViewById(R.id.applications_pref_dlg_listview); //applicationsListView.addItemDecoration(new DividerItemDecoration(getContext(), DividerItemDecoration.VERTICAL)); applicationsListView.setLayoutManager(layoutManager); applicationsListView.setHasFixedSize(true); linlaProgress = view.findViewById(R.id.applications_pref_dlg_linla_progress); rellaDialog = view.findViewById(R.id.applications_pref_dlg_rella_dialog); listAdapter = new ApplicationsDialogPreferenceAdapterX(prefContext, preference, this); // added touch helper for drag and drop items ItemTouchHelper.Callback callback = new ItemTouchHelperCallback(listAdapter, false, false); itemTouchHelper = new ItemTouchHelper(callback); itemTouchHelper.attachToRecyclerView(applicationsListView); addButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { preference.startEditor(null); } }); refreshListView(false); }
Example #10
Source File: ApplicationEditorDialogViewHolderX.java From PhoneProfilesPlus with Apache License 2.0 | 5 votes |
@SuppressLint("SetTextI18n") void bindApplication(Application application, int position) { this.application = application; //PPApplication.logE("ApplicationEditorDialogViewHolder.bindApplication", "this.application="+this.application); // Display Application data if (dialog.selectedFilter != 2) { if (EditorProfilesActivity.getApplicationsCache() != null) imageViewIcon.setImageBitmap(EditorProfilesActivity.getApplicationsCache().getApplicationIcon(application, false)); } textViewAppName.setText(application.appLabel); if (dialog.selectedPosition == position) radioBtn.setChecked(true); else radioBtn.setChecked(false); radioBtn.setTag(position); if (imageViewMenu != null) { TooltipCompat.setTooltipText(imageViewMenu, dialog.activity.getString(R.string.tooltip_options_menu)); imageViewMenu.setTag(position); imageViewMenu.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { dialog.showEditMenu(imageViewMenu); } }); } }
Example #11
Source File: ConversationListFragment.java From mollyim-android with GNU General Public License v3.0 | 4 votes |
@Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { reminderView = view.findViewById(R.id.reminder); list = view.findViewById(R.id.list); fab = view.findViewById(R.id.fab); cameraFab = view.findViewById(R.id.camera_fab); emptyState = view.findViewById(R.id.empty_state); emptyImage = view.findViewById(R.id.empty); searchEmptyState = view.findViewById(R.id.search_no_results); searchToolbar = view.findViewById(R.id.search_toolbar); searchAction = view.findViewById(R.id.search_action); toolbarShadow = view.findViewById(R.id.conversation_list_toolbar_shadow); megaphoneContainer = view.findViewById(R.id.megaphone_container); Toolbar toolbar = view.findViewById(getToolbarRes()); toolbar.setVisibility(View.VISIBLE); ((AppCompatActivity) requireActivity()).setSupportActionBar(toolbar); fab.show(); cameraFab.show(); reminderView.setOnDismissListener(this::updateReminders); list.setHasFixedSize(true); list.setLayoutManager(new LinearLayoutManager(getActivity())); list.setItemAnimator(new DeleteItemAnimator()); list.addOnScrollListener(new ScrollListener()); new ItemTouchHelper(new ArchiveListenerCallback()).attachToRecyclerView(list); fab.setOnClickListener(v -> startActivity(new Intent(getActivity(), NewConversationActivity.class))); cameraFab.setOnClickListener(v -> { Permissions.with(requireActivity()) .request(Manifest.permission.CAMERA) .ifNecessary() .withRationaleDialog(getString(R.string.ConversationActivity_to_capture_photos_and_video_allow_signal_access_to_the_camera), R.drawable.ic_camera_solid_24) .withPermanentDenialDialog(getString(R.string.ConversationActivity_signal_needs_the_camera_permission_to_take_photos_or_video)) .onAllGranted(() -> startActivity(MediaSendActivity.buildCameraFirstIntent(requireActivity()))) .onAnyDenied(() -> Toast.makeText(requireContext(), R.string.ConversationActivity_signal_needs_camera_permissions_to_take_photos_or_video, Toast.LENGTH_LONG).show()) .execute(); }); initializeListAdapters(); initializeViewModel(); initializeTypingObserver(); initializeSearchListener(); TooltipCompat.setTooltipText(searchAction, getText(R.string.SearchToolbar_search_for_conversations_contacts_and_messages)); }
Example #12
Source File: TabLayout.java From a with GNU General Public License v3.0 | 4 votes |
private void updateTextAndIcon(@Nullable final TextView textView, @Nullable final ImageView iconView) { final Drawable icon = mTab != null ? mTab.getIcon() : null; final CharSequence text = mTab != null ? mTab.getText() : null; final CharSequence contentDesc = mTab != null ? mTab.getContentDescription() : null; if (iconView != null) { if (icon != null) { iconView.setImageDrawable(icon); iconView.setVisibility(VISIBLE); setVisibility(VISIBLE); } else { iconView.setVisibility(GONE); iconView.setImageDrawable(null); } iconView.setContentDescription(contentDesc); } final boolean hasText = !TextUtils.isEmpty(text); if (textView != null) { if (hasText) { textView.setText(text); textView.setVisibility(VISIBLE); setVisibility(VISIBLE); } else { textView.setVisibility(GONE); textView.setText(null); } textView.setContentDescription(contentDesc); } if (iconView != null) { MarginLayoutParams lp = ((MarginLayoutParams) iconView.getLayoutParams()); int bottomMargin = 0; if (hasText && iconView.getVisibility() == VISIBLE) { // If we're showing both text and icon, add some margin bottom to the icon bottomMargin = dpToPx(DEFAULT_GAP_TEXT_ICON); } if (bottomMargin != lp.bottomMargin) { lp.bottomMargin = bottomMargin; iconView.requestLayout(); } } TooltipCompat.setTooltipText(this, hasText ? null : contentDesc); }
Example #13
Source File: TabLayout.java From material-components-android with Apache License 2.0 | 4 votes |
private void updateTextAndIcon( @Nullable final TextView textView, @Nullable final ImageView iconView) { final Drawable icon = (tab != null && tab.getIcon() != null) ? DrawableCompat.wrap(tab.getIcon()).mutate() : null; final CharSequence text = tab != null ? tab.getText() : null; if (iconView != null) { if (icon != null) { iconView.setImageDrawable(icon); iconView.setVisibility(VISIBLE); setVisibility(VISIBLE); } else { iconView.setVisibility(GONE); iconView.setImageDrawable(null); } } final boolean hasText = !TextUtils.isEmpty(text); if (textView != null) { if (hasText) { textView.setText(text); if (tab.labelVisibilityMode == TAB_LABEL_VISIBILITY_LABELED) { textView.setVisibility(VISIBLE); } else { textView.setVisibility(GONE); } setVisibility(VISIBLE); } else { textView.setVisibility(GONE); textView.setText(null); } } if (iconView != null) { MarginLayoutParams lp = ((MarginLayoutParams) iconView.getLayoutParams()); int iconMargin = 0; if (hasText && iconView.getVisibility() == VISIBLE) { // If we're showing both text and icon, add some margin bottom to the icon iconMargin = (int) ViewUtils.dpToPx(getContext(), DEFAULT_GAP_TEXT_ICON); } if (inlineLabel) { if (iconMargin != MarginLayoutParamsCompat.getMarginEnd(lp)) { MarginLayoutParamsCompat.setMarginEnd(lp, iconMargin); lp.bottomMargin = 0; // Calls resolveLayoutParams(), necessary for layout direction iconView.setLayoutParams(lp); iconView.requestLayout(); } } else { if (iconMargin != lp.bottomMargin) { lp.bottomMargin = iconMargin; MarginLayoutParamsCompat.setMarginEnd(lp, 0); // Calls resolveLayoutParams(), necessary for layout direction iconView.setLayoutParams(lp); iconView.requestLayout(); } } } final CharSequence contentDesc = tab != null ? tab.contentDesc : null; TooltipCompat.setTooltipText(this, hasText ? null : contentDesc); }
Example #14
Source File: ApplicationsDialogPreferenceViewHolderX.java From PhoneProfilesPlus with Apache License 2.0 | 4 votes |
@SuppressLint("SetTextI18n") void bindApplication(Application application) { // 4. Bind the data to the ViewHolder this.application = application; if (this.application.type != Application.TYPE_INTENT) { if (EditorProfilesActivity.getApplicationsCache() != null) imageViewIcon.setImageBitmap(EditorProfilesActivity.getApplicationsCache().getApplicationIcon(application, false)); } else imageViewIcon.setImageResource(R.drawable.ic_profile_pref_run_application); String text = application.appLabel; if (application.shortcutId > 0) { Shortcut shortcut = DatabaseHandler.getInstance(context.getApplicationContext()).getShortcut(application.shortcutId); if (shortcut != null) text = shortcut._name; } else if (application.intentId > 0) { PPIntent intent = DatabaseHandler.getInstance(context.getApplicationContext()).getIntent(application.intentId); if (intent != null) text = intent._name; } textViewAppName.setText(text); boolean errorColor = false; if ((application.type == Application.TYPE_SHORTCUT) && (application.shortcutId == 0)) errorColor = true; if ((application.type == Application.TYPE_INTENT) && (application.intentId == 0)) errorColor = true; setTextStyle(textViewAppName, errorColor); switch (application.type) { case Application.TYPE_APPLICATION: textViewAppType.setText("- "+context.getString(R.string.applications_preference_applicationType_application)); break; case Application.TYPE_SHORTCUT: textViewAppType.setText("- "+context.getString(R.string.applications_preference_applicationType_shortcut)); break; case Application.TYPE_INTENT: textViewAppType.setText("- "+context.getString(R.string.applications_preference_applicationType_intent)); break; } setTextStyle(textViewAppType, errorColor); text = context.getString(R.string.applications_editor_dialog_startApplicationDelay); text = text + " " + GlobalGUIRoutines.getDurationString(application.startApplicationDelay); textViewStartApplicationDelay.setText(text); setTextStyle(textViewStartApplicationDelay, errorColor); TooltipCompat.setTooltipText(imageViewMenu, context.getString(R.string.tooltip_options_menu)); imageViewMenu.setTag(application); imageViewMenu.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { preference.showEditMenu(imageViewMenu); } }); }
Example #15
Source File: NumberPicker.java From PhoneProfilesPlus with Apache License 2.0 | 4 votes |
@Override protected void onFinishInflate() { super.onFinishInflate(); mDivider = findViewById(R.id.divider); mError = findViewById(R.id.error); Arrays.fill(mInput, -1); View v1 = findViewById(R.id.first); View v2 = findViewById(R.id.second); View v3 = findViewById(R.id.third); View v4 = findViewById(R.id.fourth); mEnteredNumber = findViewById(R.id.number_text); mBackspace = findViewById(R.id.backspace); TooltipCompat.setTooltipText(mBackspace, mContext.getString(R.string.backspace_button_tooltip)); mBackspace.setOnClickListener(this); //mDelete.setOnLongClickListener(this); mClear = findViewById(R.id.clear); TooltipCompat.setTooltipText(mClear, mContext.getString(R.string.clear_button_tooltip)); mClear.setOnClickListener(this); mNumbers[1] = v1.findViewById(R.id.key_left); mNumbers[2] = v1.findViewById(R.id.key_middle); mNumbers[3] = v1.findViewById(R.id.key_right); mNumbers[4] = v2.findViewById(R.id.key_left); mNumbers[5] = v2.findViewById(R.id.key_middle); mNumbers[6] = v2.findViewById(R.id.key_right); mNumbers[7] = v3.findViewById(R.id.key_left); mNumbers[8] = v3.findViewById(R.id.key_middle); mNumbers[9] = v3.findViewById(R.id.key_right); mLeft = v4.findViewById(R.id.key_left); mNumbers[0] = v4.findViewById(R.id.key_middle); mRight = v4.findViewById(R.id.key_right); setLeftRightEnabled(); for (int i = 0; i < 10; i++) { mNumbers[i].setOnClickListener(this); mNumbers[i].setText(String.valueOf(i)); mNumbers[i].setTag(R.id.numbers_key, i); } updateNumber(); Resources res = mContext.getResources(); mLeft.setText(res.getString(R.string.number_picker_plus_minus)); mRight.setText(res.getString(R.string.number_picker_separator)); mLeft.setOnClickListener(this); mRight.setOnClickListener(this); mLabel = findViewById(R.id.label); mSign = SIGN_POSITIVE; // Set the correct label state showLabel(); restyleViews(); updateKeypad(); }
Example #16
Source File: TimerGraphFragment.java From TwistyTimer with GNU General Public License v3.0 | 3 votes |
/** * Since all stats views have the same base layout, they share the same views * with the same ids. This function uses the TooltipCompat function added in support library * v26 to set a tooltip for an icon in each of the stats tabs. * * @param viewId * The ID of the view that should receive the tooltip * @param tooltipTextRes * The string resource to be displayed */ private void setTooltipText(@IdRes int viewId, @StringRes int tooltipTextRes) { TooltipCompat.setTooltipText(statsImprovementLayout.findViewById(viewId), getString(tooltipTextRes)); TooltipCompat.setTooltipText(statsAverageLayout.findViewById(viewId), getString(tooltipTextRes)); TooltipCompat.setTooltipText(statsOtherlayout.findViewById(viewId), getString(tooltipTextRes)); }