@Override public View getView(final LayoutInflater inflater, ViewGroup container, Context context) { View view = inflater.inflate(R.layout.test_role_description, container, false); AccessibilityDelegateCompat buttonDelegate = new AccessibilityDelegateCompat() { @Override public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) { super.onInitializeAccessibilityNodeInfo(host, info); info.setRoleDescription(getString(R.string.role_entry_point)); } }; View mailButton = view.findViewById(R.id.test_role_description_mailButton); mailButton.setContentDescription(getString(R.string.role_send_email)); ViewCompat.setAccessibilityDelegate(mailButton, buttonDelegate); View playButton = view.findViewById(R.id.test_role_description_playButton); playButton.setContentDescription(getString(R.string.role_send_email)); ViewCompat.setAccessibilityDelegate(playButton, buttonDelegate); View lockButton = view.findViewById(R.id.test_role_description_lockButton); lockButton.setContentDescription(getString(R.string.role_lock_screen)); ViewCompat.setAccessibilityDelegate(lockButton, buttonDelegate); return view; }
private void installAccessibilityDelegate() { // The accessibility delegate enables customizing accessibility behavior // via composition as opposed as inheritance. The main benefit is that // one can write a backwards compatible application by setting the delegate // only if the API level is high enough i.e. the delegate is part of the APIs. // The easiest way to achieve that is by using the support library which // takes the burden of checking API version and knowing which API version // introduced the delegate off the developer. ViewCompat.setAccessibilityDelegate(this, new AccessibilityDelegateCompat() { @Override public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) { super.onInitializeAccessibilityEvent(host, event); // Note that View.onInitializeAccessibilityNodeInfo was introduced in // ICS and we would like to tweak a bit the text that is reported to // accessibility services via the AccessibilityNodeInfo. if (event.getEventType() == AccessibilityEventCompat.TYPE_VIEW_SCROLLED) { event.setFromIndex(0); } } }); }
protected void onFinishInflate() { super.onFinishInflate(); this.mTitleRecycler = ((PlayRecyclerView)findViewById(2131755930)); this.mPageIndicator = ((ScalingPageIndicator)findViewById(2131755931)); ViewCompat.setImportantForAccessibility(this.mPageIndicator, 2); getContext(); LinearLayoutManager localLinearLayoutManager = new LinearLayoutManager(0); this.mTitleRecycler.setLayoutManager(localLinearLayoutManager); this.mTitleRecycler.setHasFixedSize(true); this.mTitleRecycler.setFocusable(false); ViewCompat.setAccessibilityDelegate(this.mTitleRecycler, new AccessibilityDelegateCompat() { public final void onInitializeAccessibilityEvent(View paramAnonymousView, AccessibilityEvent paramAnonymousAccessibilityEvent) { AccessibilityRecordCompat localAccessibilityRecordCompat = AccessibilityEventCompat.asRecord(paramAnonymousAccessibilityEvent); AccessibilityRecordCompat.IMPL.setContentDescription(localAccessibilityRecordCompat.mRecord, null); } }); if (Build.VERSION.SDK_INT >= 14) { this.mTitleRecycler.addOnScrollListener(new RecyclerView.OnScrollListener() { @TargetApi(14) public final void onScrolled(RecyclerView paramAnonymousRecyclerView, int paramAnonymousInt1, int paramAnonymousInt2) { super.onScrolled(paramAnonymousRecyclerView, paramAnonymousInt1, paramAnonymousInt2); paramAnonymousRecyclerView.getLayoutManager(); int i = PlayHighlightsOverlayView.this.mTitleRecycler.getWidth(); int j = PlayHighlightsOverlayView.this.mTitleRecycler.getLeft() + i / 2; for (int k = 0; k < paramAnonymousRecyclerView.getChildCount(); k++) { View localView = paramAnonymousRecyclerView.getChildAt(k); float f = Math.abs(LinearLayoutManager.getDecoratedLeft(localView) + LinearLayoutManager.getDecoratedMeasuredWidth(localView) / 2 - j) / PlayHighlightsOverlayView.this.mItemWidth; localView.setAlpha(Math.max(0.0F, 1.0F - PlayHighlightsOverlayView.this.mAlphaInterpolator.getInterpolation(f))); } } }); } }
AccessibilityDelegateCompat getItemDelegate() { return mItemDelegate; }
AccessibilityDelegateCompat getItemDelegate() { return this.mItemDelegate; }
@Override public AccessibilityDelegateCompat getItemDelegate() { return mItemDelegate; }
public AccessibilityDelegateCompat getAccessibilityDelegate() { return mDelegate; }
/** * Gets the AccessibilityDelegate for an individual item in the RecyclerView. * A basic item delegate is provided by default, but you can override this * method to provide a custom per-item delegate. */ public AccessibilityDelegateCompat getItemDelegate() { return mItemDelegate; }