Example usage for android.support.v4.view AccessibilityDelegateCompat AccessibilityDelegateCompat

List of usage examples for android.support.v4.view AccessibilityDelegateCompat AccessibilityDelegateCompat

Introduction

In this page you can find the example usage for android.support.v4.view AccessibilityDelegateCompat AccessibilityDelegateCompat.

Prototype

public AccessibilityDelegateCompat() 

Source Link

Document

Creates a new instance.

Usage

From source file:com.android.datetimepicker.AccessibleTextView.java

private void installAccessibilityDelegate() {
    ViewCompat.setAccessibilityDelegate(this, new AccessibilityDelegateCompat() {
        @Override//w w w  .java  2  s.com
        public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
            super.onInitializeAccessibilityEvent(host, event);
            event.setClassName(Button.class.getName());
        }

        @Override
        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            info.setClassName(Button.class.getName());
        }
    });
}

From source file:com.android.talkbacktests.testsession.RoleDescriptionTest.java

@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//  w  w  w  . ja v a  2s .  com
        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;
}

From source file:com.facebook.react.uimanager.AccessibilityDelegateUtil.java

public static void setDelegate(final View view) {
    // if a view already has an accessibility delegate, replacing it could cause problems,
    // so leave it alone.
    if (!ViewCompat.hasAccessibilityDelegate(view)) {
        ViewCompat.setAccessibilityDelegate(view, new AccessibilityDelegateCompat() {
            @Override/*w  w  w.  j  a v a 2s  .  c  o m*/
            public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
                super.onInitializeAccessibilityNodeInfo(host, info);
                String accessibilityHint = (String) view.getTag(R.id.accessibility_hint);
                AccessibilityRole accessibilityRole = (AccessibilityRole) view.getTag(R.id.accessibility_role);
                if (accessibilityRole == null) {
                    accessibilityRole = AccessibilityRole.NONE;
                }
                setRole(info, accessibilityRole, view.getContext());
                if (!(accessibilityHint == null)) {
                    String contentDescription = (String) info.getContentDescription();
                    if (contentDescription != null) {
                        contentDescription = contentDescription + ", " + accessibilityHint;
                        info.setContentDescription(contentDescription);
                    } else {
                        info.setContentDescription(accessibilityHint);
                    }
                }
            }
        });
    }
}

From source file:com.facebook.react.uimanager.AccessibilityRoleUtil.java

public static void setRole(final View view, final AccessibilityRole role) {
    // if a view already has an accessibility delegate, replacing it could cause problems,
    // so leave it alone.
    if (!ViewCompat.hasAccessibilityDelegate(view)) {
        ViewCompat.setAccessibilityDelegate(view, new AccessibilityDelegateCompat() {
            @Override/*from w  w w.  j  a v  a2s  . co m*/
            public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
                super.onInitializeAccessibilityNodeInfo(host, info);
                setRole(info, role, view.getContext());
            }
        });
    }
}

From source file:android.support.design.widget.CheckableImageButton.java

public CheckableImageButton(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);

    ViewCompat.setAccessibilityDelegate(this, new AccessibilityDelegateCompat() {
        @Override//  w w  w.  j a v a  2  s  .com
        public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
            super.onInitializeAccessibilityEvent(host, event);
            event.setChecked(isChecked());
        }

        @Override
        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            info.setCheckable(true);
            info.setChecked(isChecked());
        }
    });
}

From source file:com.redinput.datetimepickercompat.AccessibleLinearLayout.java

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/*from   w w  w  .  ja v  a 2s.  c  o m*/
        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.
            event.getText().add(Button.class.getName());
        }

        @Override
        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            // 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.
            info.setText(Button.class.getName());
        }
    });
}

From source file:com.google.android.apps.forscience.whistlepunk.review.GraphExploringSeekBar.java

private void init() {
    // Use an AccessibilityDelegate to add custom text to Accessibility events.
    ViewCompat.setAccessibilityDelegate(this, new AccessibilityDelegateCompat() {
        @Override//  w w  w .  ja va 2  s . c  o m
        public void onPopulateAccessibilityEvent(View host, AccessibilityEvent event) {
            super.onPopulateAccessibilityEvent(host, event);
            event.getText().clear();
            event.getText().add(generateEventText());
        }

        @Override
        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            info.setText(generateEventText());
        }
    });

    Resources res = getContext().getResources();
    mFormat = res.getString(R.string.graph_exploring_seekbar_content_description);

    // Always use LTR layout, since graphs are always LTR.
    setLayoutDirection(LAYOUT_DIRECTION_LTR);
}

From source file:com.finchuk.clock2.alarms.ui.TempCheckableImageButton.java

public TempCheckableImageButton(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);

    ViewCompat.setAccessibilityDelegate(this, new AccessibilityDelegateCompat() {
        @Override//from   w ww.  j a  va  2  s . c  o  m
        public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
            super.onInitializeAccessibilityEvent(host, event);
            event.setChecked(isChecked());
        }

        @Override
        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            info.setCheckable(true);
            info.setChecked(isChecked());
        }
    });
}

From source file:com.android.talkbacktests.testsession.StandardAndroidWidgetTest.java

@Override
public View getView(final LayoutInflater inflater, ViewGroup container, final Context context) {
    View view = inflater.inflate(R.layout.test_standard_android_widget, container, false);
    final Button contDescButton = (Button) view.findViewById(R.id.test_standard_android_widget_button2);
    contDescButton.setOnClickListener(new View.OnClickListener() {
        @Override/* w  w  w  . j a v  a 2  s  .c o  m*/
        public void onClick(View view) {
            mCount++;
            contDescButton.setContentDescription(getString(R.string.toast_content_changed_template, mCount));
        }
    });
    Button toastButton = (Button) view.findViewById(R.id.test_standard_android_widget_button3);
    toastButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(context, R.string.toast_expand_button_clicked, Toast.LENGTH_LONG).show();
        }
    });
    ViewCompat.setAccessibilityDelegate(toastButton, new AccessibilityDelegateCompat() {
        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            info.addAction(new AccessibilityNodeInfoCompat.AccessibilityActionCompat(
                    AccessibilityNodeInfoCompat.ACTION_CLICK, getString(R.string.expand_button_action_label)));
        }
    });

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(context, R.array.city_array,
            android.R.layout.simple_spinner_item);

    Spinner spinner = (Spinner) view.findViewById(R.id.test_standard_android_widget_spinner);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

    AutoCompleteTextView autocomplete = (AutoCompleteTextView) view
            .findViewById(R.id.test_standard_android_widget_autocomplete);
    autocomplete.setAdapter(adapter);

    mProgressBar = (ProgressBar) view.findViewById(R.id.test_standard_android_widget_progress_bar);
    mRunnable = new Runnable() {

        @Override
        public void run() {
            mProgressStatus += 5;
            mProgressBar.setProgress(mProgressStatus);
            if (mProgressStatus < 100) {
                mHandler.postDelayed(this, 1000);
            }
        }
    };
    resetProgressBar();

    View resetProgressBarButton = view.findViewById(R.id.test_standard_android_widget_reset_button);
    resetProgressBarButton.setOnClickListener(this);

    return view;
}

From source file:android.support.design.widget.BottomSheetDialog.java

private View wrapInBottomSheet(int layoutResId, View view, ViewGroup.LayoutParams params) {
    final CoordinatorLayout coordinator = (CoordinatorLayout) View.inflate(getContext(),
            R.layout.design_bottom_sheet_dialog, null);
    if (layoutResId != 0 && view == null) {
        view = getLayoutInflater().inflate(layoutResId, coordinator, false);
    }/* www .  j ava 2s . c  o  m*/
    FrameLayout bottomSheet = (FrameLayout) coordinator.findViewById(R.id.design_bottom_sheet);
    mBehavior = BottomSheetBehavior.from(bottomSheet);
    mBehavior.setBottomSheetCallback(mBottomSheetCallback);
    mBehavior.setHideable(mCancelable);
    if (params == null) {
        bottomSheet.addView(view);
    } else {
        bottomSheet.addView(view, params);
    }
    // We treat the CoordinatorLayout as outside the dialog though it is technically inside
    coordinator.findViewById(R.id.touch_outside).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (mCancelable && isShowing() && shouldWindowCloseOnTouchOutside()) {
                cancel();
            }
        }
    });
    // Handle accessibility events
    ViewCompat.setAccessibilityDelegate(bottomSheet, new AccessibilityDelegateCompat() {
        @Override
        public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
            super.onInitializeAccessibilityNodeInfo(host, info);
            if (mCancelable) {
                info.addAction(AccessibilityNodeInfoCompat.ACTION_DISMISS);
                info.setDismissable(true);
            } else {
                info.setDismissable(false);
            }
        }

        @Override
        public boolean performAccessibilityAction(View host, int action, Bundle args) {
            if (action == AccessibilityNodeInfoCompat.ACTION_DISMISS && mCancelable) {
                cancel();
                return true;
            }
            return super.performAccessibilityAction(host, action, args);
        }
    });
    return coordinator;
}