Example usage for android.content Context getTheme

List of usage examples for android.content Context getTheme

Introduction

In this page you can find the example usage for android.content Context getTheme.

Prototype

@ViewDebug.ExportedProperty(deepExport = true)
public abstract Resources.Theme getTheme();

Source Link

Document

Return the Theme object associated with this Context.

Usage

From source file:com.kuloud.android.calendarview.CalendarView.java

public CalendarView(Context context, AttributeSet attrs) {
    super(context, attrs);

    setClipChildren(false);//w ww . ja  v a  2s  .c  om
    setClipToPadding(false);

    pager = new ViewPager(getContext());

    setupChildren();

    titleChanger = new TitleChanger(topbar);
    titleChanger.setTitleFormatter(DEFAULT_TITLE_FORMATTER);
    adapter = new MonthPagerAdapter(this);
    pager.setAdapter(adapter);
    pager.setOnPageChangeListener(pageChangeListener);
    pager.setPageTransformer(false, new ViewPager.PageTransformer() {
        @Override
        public void transformPage(View page, float position) {
            position = (float) Math.sqrt(1 - Math.abs(position));
            page.setAlpha(position);
        }
    });

    adapter.setCallbacks(monthViewCallbacks);

    TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.CalendarView, 0, 0);
    try {

        int tileSize = a.getDimensionPixelSize(R.styleable.CalendarView_mcv_tileSize, -1);
        if (tileSize > 0) {
            setTileSize(tileSize);
        }

        setSelectionColor(
                a.getColor(R.styleable.CalendarView_mcv_selectionColor, getThemeAccentColor(context)));

        CharSequence[] array = a.getTextArray(R.styleable.CalendarView_mcv_weekDayLabels);
        if (array != null) {
            setWeekDayFormatter(new ArrayWeekDayFormatter(array));
        }

        array = a.getTextArray(R.styleable.CalendarView_mcv_monthLabels);
        if (array != null) {
            setTitleFormatter(new MonthArrayTitleFormatter(array));
        }

        setShowOtherDates(a.getBoolean(R.styleable.CalendarView_mcv_showOtherDates, false));

        int firstDayOfWeek = a.getInt(R.styleable.CalendarView_mcv_firstDayOfWeek, -1);
        if (firstDayOfWeek < 0) {
            firstDayOfWeek = CalendarUtils.getInstance().getFirstDayOfWeek();
        }
        setFirstDayOfWeek(firstDayOfWeek);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (a != null) {
            a.recycle();
        }
    }

    currentMonth = CalendarDay.today();
    setCurrentDate(currentMonth);
}

From source file:io.doist.datetimepicker.time.RadialTimePickerView.java

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

    // Pull disabled alpha from theme.
    final TypedValue outValue = new TypedValue();
    context.getTheme().resolveAttribute(android.R.attr.disabledAlpha, outValue, true);
    mDisabledAlpha = (int) (outValue.getFloat() * 255 + 0.5f);

    // process style attributes
    final Resources res = getResources();
    final TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.TimePicker, defStyleAttr, 0);

    mTypeface = Typeface.create("sans-serif", Typeface.NORMAL);

    // Initialize all alpha values to opaque.
    for (int i = 0; i < mAlpha.length; i++) {
        mAlpha[i] = new IntHolder(ALPHA_OPAQUE);
    }/*ww w  .j  a  v  a2 s  .  co  m*/
    for (int i = 0; i < mAlphaSelector.length; i++) {
        for (int j = 0; j < mAlphaSelector[i].length; j++) {
            mAlphaSelector[i][j] = new IntHolder(ALPHA_OPAQUE);
        }
    }

    final int numbersTextColor = a.getColor(R.styleable.TimePicker_numbersTextColor,
            res.getColor(R.color.timepicker_default_text_color_material));

    mPaint[HOURS] = new Paint();
    mPaint[HOURS].setAntiAlias(true);
    mPaint[HOURS].setTextAlign(Paint.Align.CENTER);
    mColor[HOURS] = numbersTextColor;

    mPaint[MINUTES] = new Paint();
    mPaint[MINUTES].setAntiAlias(true);
    mPaint[MINUTES].setTextAlign(Paint.Align.CENTER);
    mColor[MINUTES] = numbersTextColor;

    mPaintCenter.setColor(numbersTextColor);
    mPaintCenter.setAntiAlias(true);
    mPaintCenter.setTextAlign(Paint.Align.CENTER);

    mPaintSelector[HOURS][SELECTOR_CIRCLE] = new Paint();
    mPaintSelector[HOURS][SELECTOR_CIRCLE].setAntiAlias(true);
    mColorSelector[HOURS][SELECTOR_CIRCLE] = a.getColor(R.styleable.TimePicker_numbersSelectorColor,
            R.color.timepicker_default_selector_color_material);

    mPaintSelector[HOURS][SELECTOR_DOT] = new Paint();
    mPaintSelector[HOURS][SELECTOR_DOT].setAntiAlias(true);
    mColorSelector[HOURS][SELECTOR_DOT] = a.getColor(R.styleable.TimePicker_numbersSelectorColor,
            R.color.timepicker_default_selector_color_material);

    mPaintSelector[HOURS][SELECTOR_LINE] = new Paint();
    mPaintSelector[HOURS][SELECTOR_LINE].setAntiAlias(true);
    mPaintSelector[HOURS][SELECTOR_LINE].setStrokeWidth(2);
    mColorSelector[HOURS][SELECTOR_LINE] = a.getColor(R.styleable.TimePicker_numbersSelectorColor,
            R.color.timepicker_default_selector_color_material);

    mPaintSelector[MINUTES][SELECTOR_CIRCLE] = new Paint();
    mPaintSelector[MINUTES][SELECTOR_CIRCLE].setAntiAlias(true);
    mColorSelector[MINUTES][SELECTOR_CIRCLE] = a.getColor(R.styleable.TimePicker_numbersSelectorColor,
            R.color.timepicker_default_selector_color_material);

    mPaintSelector[MINUTES][SELECTOR_DOT] = new Paint();
    mPaintSelector[MINUTES][SELECTOR_DOT].setAntiAlias(true);
    mColorSelector[MINUTES][SELECTOR_DOT] = a.getColor(R.styleable.TimePicker_numbersSelectorColor,
            R.color.timepicker_default_selector_color_material);

    mPaintSelector[MINUTES][SELECTOR_LINE] = new Paint();
    mPaintSelector[MINUTES][SELECTOR_LINE].setAntiAlias(true);
    mPaintSelector[MINUTES][SELECTOR_LINE].setStrokeWidth(2);
    mColorSelector[MINUTES][SELECTOR_LINE] = a.getColor(R.styleable.TimePicker_numbersSelectorColor,
            R.color.timepicker_default_selector_color_material);

    mPaintBackground.setColor(a.getColor(R.styleable.TimePicker_numbersBackgroundColor,
            res.getColor(R.color.timepicker_default_numbers_background_color_material)));
    mPaintBackground.setAntiAlias(true);

    if (DEBUG) {
        mPaintDebug.setColor(DEBUG_COLOR);
        mPaintDebug.setAntiAlias(true);
        mPaintDebug.setStrokeWidth(DEBUG_STROKE_WIDTH);
        mPaintDebug.setStyle(Paint.Style.STROKE);
        mPaintDebug.setTextAlign(Paint.Align.CENTER);
    }

    mShowHours = true;
    mIs24HourMode = false;
    mAmOrPm = AM;

    // Set up accessibility components.
    mTouchHelper = new RadialPickerTouchHelper();
    ViewCompat.setAccessibilityDelegate(this, mTouchHelper);

    if (getImportantForAccessibility() == IMPORTANT_FOR_ACCESSIBILITY_AUTO) {
        setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES);
    }

    initHoursAndMinutesText();
    initData();

    mTransitionMidRadiusMultiplier = Float
            .parseFloat(res.getString(R.string.timepicker_transition_mid_radius_multiplier));
    mTransitionEndRadiusMultiplier = Float
            .parseFloat(res.getString(R.string.timepicker_transition_end_radius_multiplier));

    mTextGridHeights[HOURS] = new float[7];
    mTextGridHeights[MINUTES] = new float[7];

    mSelectionRadiusMultiplier = Float
            .parseFloat(res.getString(R.string.timepicker_selection_radius_multiplier));

    a.recycle();

    setOnTouchListener(this);
    setClickable(true);

    // Initial values
    final Calendar calendar = Calendar.getInstance(Locale.getDefault());
    final int currentHour = calendar.get(Calendar.HOUR_OF_DAY);
    final int currentMinute = calendar.get(Calendar.MINUTE);

    setCurrentHourInternal(currentHour, false, false);
    setCurrentMinuteInternal(currentMinute, false);

    setHapticFeedbackEnabled(true);
}

From source file:org.microg.tools.ui.Condition.java

View createView(final Context context, ViewGroup container) {
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View view = inflater.inflate(R.layout.condition_card, container, false);
    Drawable icon = getIcon(context);//from w  w  w. j  a  v a 2s  .com
    if (icon != null)
        ((ImageView) view.findViewById(android.R.id.icon)).setImageDrawable(icon);
    ((TextView) view.findViewById(android.R.id.title)).setText(getTitle(context));
    ((TextView) view.findViewById(android.R.id.summary)).setText(getSummary(context));
    Button first = (Button) view.findViewById(R.id.first_action);
    first.setText(getFirstActionText(context));
    first.setOnClickListener(getFirstActionListener());
    CharSequence secondActionText = getSecondActionText(context);
    if (secondActionText != null) {
        Button second = (Button) view.findViewById(R.id.second_action);
        second.setText(secondActionText);
        second.setOnClickListener(getSecondActionListener());
        second.setVisibility(View.VISIBLE);
    }
    final View detailGroup = view.findViewById(R.id.detail_group);
    final ImageView expandIndicator = (ImageView) view.findViewById(R.id.expand_indicator);
    View.OnClickListener expandListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (detailGroup.getVisibility() == View.VISIBLE) {
                expandIndicator.setImageDrawable(ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.ic_expand_more, context.getTheme()));
                detailGroup.setVisibility(View.GONE);
            } else {
                expandIndicator.setImageDrawable(ResourcesCompat.getDrawable(context.getResources(),
                        R.drawable.ic_expand_less, context.getTheme()));
                detailGroup.setVisibility(View.VISIBLE);
            }
        }
    };
    view.findViewById(R.id.collapsed_group).setOnClickListener(expandListener);
    expandIndicator.setOnClickListener(expandListener);
    view.setTag(this);
    return view;
}

From source file:com.apptentive.android.sdk.view.ApptentiveNestedScrollView.java

private float getVerticalScrollFactorCompat() {
    if (mVerticalScrollFactor == 0) {
        TypedValue outValue = new TypedValue();
        final Context context = getContext();
        if (!context.getTheme().resolveAttribute(android.R.attr.listPreferredItemHeight, outValue, true)) {
            throw new IllegalStateException("Expected theme to define listPreferredItemHeight.");
        }//ww w  .  j a  v  a2  s .  co m
        mVerticalScrollFactor = outValue.getDimension(context.getResources().getDisplayMetrics());
    }
    return mVerticalScrollFactor;
}

From source file:com.jecelyin.android.common.widget.TabLayout.java

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

    // Disable the Scroll Bar
    setHorizontalScrollBarEnabled(false);
    // Set us to fill the View port
    setFillViewport(true);//from   w w w.j  a v  a  2 s  . co m

    // Add the TabStrip
    mTabStrip = new SlidingTabStrip(context);

    TypedArray a;
    //add divider support
    if (Build.VERSION.SDK_INT >= 11) {
        a = context.getTheme().obtainStyledAttributes(attrs, new int[] { android.R.attr.divider,
                android.R.attr.showDividers, android.R.attr.dividerPadding, }, defStyleAttr, 0);
        mDivider = a.getDrawable(0);
        mShowDividers = a.getInt(1, LinearLayout.SHOW_DIVIDER_NONE);
        mDividerPadding = a.getDimensionPixelSize(2, 0);
        a.recycle();
        //?????
        a = context.getTheme().obtainStyledAttributes(attrs, new int[] { android.R.attr.lineSpacingMultiplier },
                defStyleAttr, 0);
        mSpacingMult = a.getFloat(0, 1.0f);
        a.recycle();

        if (Build.VERSION.SDK_INT >= 14) {
            mTabStrip.setDividerPadding(mDividerPadding);
        } else {
            Rect b = mDivider.getBounds();
            mDivider.setBounds(b.left, b.top, b.right + mDividerPadding * 2, b.bottom);
        }
        mTabStrip.setDividerDrawable(mDivider);
        mTabStrip.setShowDividers(mShowDividers);
    }
    //end

    addView(mTabStrip, LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);

    a = context.obtainStyledAttributes(attrs, R.styleable.TabLayout, defStyleAttr,
            R.style.Widget_Design_TabLayout);

    mTabStrip.setSelectedIndicatorHeight(a.getDimensionPixelSize(R.styleable.TabLayout_tabIndicatorHeight, 0));
    mTabStrip.setSelectedIndicatorColor(a.getColor(R.styleable.TabLayout_tabIndicatorColor, 0));

    mTabTextAppearance = a.getResourceId(R.styleable.TabLayout_tabTextAppearance,
            R.style.TextAppearance_Design_Tab);

    mTabPaddingStart = mTabPaddingTop = mTabPaddingEnd = mTabPaddingBottom = a
            .getDimensionPixelSize(R.styleable.TabLayout_tabPadding, 0);
    mTabPaddingStart = a.getDimensionPixelSize(R.styleable.TabLayout_tabPaddingStart, mTabPaddingStart);
    mTabPaddingTop = a.getDimensionPixelSize(R.styleable.TabLayout_tabPaddingTop, mTabPaddingTop);
    mTabPaddingEnd = a.getDimensionPixelSize(R.styleable.TabLayout_tabPaddingEnd, mTabPaddingEnd);
    mTabPaddingBottom = a.getDimensionPixelSize(R.styleable.TabLayout_tabPaddingBottom, mTabPaddingBottom);

    if (a.hasValue(R.styleable.TabLayout_tabSelectedTextColor)) {
        mTabSelectedTextColor = a.getColor(R.styleable.TabLayout_tabSelectedTextColor, 0);
        mTabSelectedTextColorSet = true;
    }

    mTabMinWidth = a.getDimensionPixelSize(R.styleable.TabLayout_tabMinWidth, 0);
    mRequestedTabMaxWidth = a.getDimensionPixelSize(R.styleable.TabLayout_tabMaxWidth, 0);
    mTabBackgroundResId = a.getResourceId(R.styleable.TabLayout_tabBackground, 0);
    mContentInsetStart = a.getDimensionPixelSize(R.styleable.TabLayout_tabContentStart, 0);
    mMode = a.getInt(R.styleable.TabLayout_tabMode, MODE_FIXED);
    mTabGravity = a.getInt(R.styleable.TabLayout_tabGravity, GRAVITY_FILL);
    a.recycle();

    // Now apply the tab mode and gravity
    applyModeAndGravity();
}

From source file:net.toload.main.hd.candidate.CandidateView.java

public CandidateView(Context context, AttributeSet attrs, int defStyle) {

    super(context, attrs, defStyle);

    mContext = context;//from w ww  .j  a  va2s  .  c o m

    mCandidateView = this;
    embeddedComposing = null; // Jeremy '15,6,4 for embedded composing view in candidateView when floating candidateView (not fixed)

    mLIMEPref = new LIMEPreferenceManager(context);

    //Jeremy '16,7,24 get themed objects
    TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.LIMECandidateView, defStyle,
            R.style.LIMECandidateView);

    int n = a.getIndexCount();

    for (int i = 0; i < n; i++) {
        int attr = a.getIndex(i);

        switch (attr) {
        case R.styleable.LIMECandidateView_suggestHighlight:
            mDrawableSuggestHighlight = a.getDrawable(attr);
            break;
        case R.styleable.LIMECandidateView_voiceInputIcon:
            mDrawableVoiceInput = a.getDrawable(attr);
            break;
        case R.styleable.LIMECandidateView_ExpandButtonIcon:
            mDrawableExpandButton = a.getDrawable(attr);
            break;
        case R.styleable.LIMECandidateView_closeButtonIcon:
            mDrawableCloseButton = a.getDrawable(attr);
            break;
        case R.styleable.LIMECandidateView_candidateBackground:
            mColorBackground = a.getColor(attr,
                    ContextCompat.getColor(context, R.color.third_background_light));
            break;
        case R.styleable.LIMECandidateView_composingTextColor:
            mColorComposingText = a.getColor(attr,
                    ContextCompat.getColor(context, R.color.second_foreground_light));
            break;
        case R.styleable.LIMECandidateView_composingBackgroundColor:
            mColorComposingBackground = a.getColor(attr,
                    ContextCompat.getColor(context, R.color.composing_background_light));
            break;
        case R.styleable.LIMECandidateView_candidateNormalTextColor:
            mColorNormalText = a.getColor(attr, ContextCompat.getColor(context, R.color.foreground_light));
            break;
        case R.styleable.LIMECandidateView_candidateNormalTextHighlightColor:
            mColorNormalTextHighlight = a.getColor(attr,
                    ContextCompat.getColor(context, R.color.foreground_light));
            break;
        case R.styleable.LIMECandidateView_composingCodeColor:
            mColorComposingCode = a.getColor(attr,
                    ContextCompat.getColor(context, R.color.color_common_green_hl));
            break;
        case R.styleable.LIMECandidateView_composingCodeHighlightColor:
            mColorComposingCodeHighlight = a.getColor(attr,
                    ContextCompat.getColor(context, R.color.third_background_light));
            break;
        case R.styleable.LIMECandidateView_spacerColor:
            mColorSpacer = a.getColor(attr, ContextCompat.getColor(context, R.color.candidate_spacer));
            break;
        case R.styleable.LIMECandidateView_selKeyColor:
            mColorSelKey = a.getColor(attr, ContextCompat.getColor(context, R.color.candidate_selection_keys));
            break;
        case R.styleable.LIMECandidateView_selKeyShiftedColor:
            mColorSelKeyShifted = a.getColor(attr,
                    ContextCompat.getColor(context, R.color.color_common_green_hl));
            break;
        }
    }

    a.recycle();

    final Resources r = context.getResources();

    Display display = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
    Point screenSize = new Point();
    display.getSize(screenSize);
    mScreenWidth = screenSize.x;
    mScreenHeight = screenSize.y;

    mVerticalPadding = (int) (r.getDimensionPixelSize(R.dimen.candidate_vertical_padding)
            * mLIMEPref.getFontSize());
    configHeight = (int) (r.getDimensionPixelSize(R.dimen.candidate_stripe_height) * mLIMEPref.getFontSize());
    mHeight = configHeight + mVerticalPadding;
    mExpandButtonWidth = r.getDimensionPixelSize(R.dimen.candidate_expand_button_width);// *mLIMEPref.getFontSize());

    mCandidatePaint = new Paint();
    mCandidatePaint.setColor(mColorNormalText);
    mCandidatePaint.setAntiAlias(true);
    mCandidatePaint.setTextSize(r.getDimensionPixelSize(R.dimen.candidate_font_size) * mLIMEPref.getFontSize());
    mCandidatePaint.setStrokeWidth(0);

    mSelKeyPaint = new Paint();
    mSelKeyPaint.setColor(mColorSelKey);
    mSelKeyPaint.setAntiAlias(true);
    mSelKeyPaint
            .setTextSize(r.getDimensionPixelSize(R.dimen.candidate_number_font_size) * mLIMEPref.getFontSize());
    mSelKeyPaint.setStyle(Paint.Style.FILL_AND_STROKE);

    //final SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
    //Jeremy '12,4,23 add mContext parameter.  The constructor without context is deprecated
    mGestureDetector = new GestureDetector(mContext, new GestureDetector.SimpleOnGestureListener() {
        @Override
        public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {

            if (DEBUG)
                Log.i(TAG, "onScroll(): distanceX = " + distanceX + "; distanceY = " + distanceY);

            //Jeremy '12,4,8 filter out small scroll which is actually candidate selection.
            if (Math.abs(distanceX) < mHeight / 5 && Math.abs(distanceY) < mHeight / 5)
                return true;

            mScrolled = true;

            // Update full candidate list before scroll
            checkHasMoreRecords();

            int sx = getScrollX();
            sx += distanceX;
            if (sx < 0) {
                sx = 0;
            }
            if (sx + getWidth() > mTotalWidth) {
                sx -= distanceX;
            }

            if (mLIMEPref.getParameterBoolean("candidate_switch", false)) {
                hasSlide = true;
                mTargetScrollX = sx;
                scrollTo(sx, getScrollY());
                currentX = getScrollX(); //Jeremy '12,7,6 set currentX to the left edge of current scrollview after scrolled
            } else {
                hasSlide = false;
                if (distanceX < 0) {
                    goLeft = true;
                    goRight = false;
                } else if (distanceX > 0) {
                    goLeft = false;
                    goRight = true;
                } else {
                    mTargetScrollX = sx;
                }
            }

            return true;
        }
    });

}

From source file:android.support.v7.app.AppCompatDelegateImplV7.java

private boolean initializePanelMenu(final PanelFeatureState st) {
    Context context = mContext;

    // If we have an action bar, initialize the menu with the right theme.
    if ((st.featureId == FEATURE_OPTIONS_PANEL || st.featureId == FEATURE_ACTION_BAR)
            && mDecorContentParent != null) {
        final TypedValue outValue = new TypedValue();
        final Resources.Theme baseTheme = context.getTheme();
        baseTheme.resolveAttribute(R.attr.actionBarTheme, outValue, true);

        Resources.Theme widgetTheme = null;
        if (outValue.resourceId != 0) {
            widgetTheme = context.getResources().newTheme();
            widgetTheme.setTo(baseTheme);
            widgetTheme.applyStyle(outValue.resourceId, true);
            widgetTheme.resolveAttribute(R.attr.actionBarWidgetTheme, outValue, true);
        } else {//from w  ww .j av a2s  .co  m
            baseTheme.resolveAttribute(R.attr.actionBarWidgetTheme, outValue, true);
        }

        if (outValue.resourceId != 0) {
            if (widgetTheme == null) {
                widgetTheme = context.getResources().newTheme();
                widgetTheme.setTo(baseTheme);
            }
            widgetTheme.applyStyle(outValue.resourceId, true);
        }

        if (widgetTheme != null) {
            context = new ContextThemeWrapper(context, 0);
            context.getTheme().setTo(widgetTheme);
        }
    }

    final MenuBuilder menu = new MenuBuilder(context);
    menu.setCallback(this);
    st.setMenu(menu);

    return true;
}

From source file:com.hippo.widget.BothScrollView.java

/**
 * Gets a scale factor that determines the distance the view should scroll
 * vertically in response to {@link MotionEvent#ACTION_SCROLL}.
 * @return The vertical scroll scale factor.
 *//*ww  w  . ja  va2 s .co m*/
protected float getVerticalScrollFactor() {
    if (mVerticalScrollFactor == 0) {
        Context context = getContext();
        TypedValue outValue = new TypedValue();
        if (!context.getTheme().resolveAttribute(16842829, outValue, true)) { // listPreferredItemHeight
            throw new IllegalStateException("Expected theme to define listPreferredItemHeight.");
        }
        mVerticalScrollFactor = outValue.getDimension(context.getResources().getDisplayMetrics());
    }
    return mVerticalScrollFactor;
}

From source file:android.car.ui.provider.CarDrawerLayout.java

public CarDrawerLayout(final Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);

    mViewFaders = new HashSet<>();
    mEndingViewColor = getResources().getColor(R.color.car_tint);

    mEdgeHighlightPaint.setColor(getResources().getColor(android.R.color.black));

    final float density = getResources().getDisplayMetrics().density;
    final float minVel = MIN_FLING_VELOCITY * density;

    ViewDragCallback viewDragCallback = new ViewDragCallback();
    mDragger = ViewDragHelper.create(this, TOUCH_SLOP_SENSITIVITY, viewDragCallback);
    mDragger.setMinVelocity(minVel);/*from w  w w.jav a  2 s . c  o m*/
    viewDragCallback.setDragger(mDragger);

    ViewGroupCompat.setMotionEventSplittingEnabled(this, false);

    if (SHADOW_ENABLED) {
        setDrawerShadow(CarUiResourceLoader.getDrawable(context, "drawer_shadow"));
    }

    Resources.Theme theme = context.getTheme();
    TypedArray ta = theme.obtainStyledAttributes(new int[] { android.R.attr.colorPrimaryDark });
    setScrimColor(ta.getColor(0, context.getResources().getColor(R.color.car_grey_900)));

    mViewFaderInterpolator = new ReversibleInterpolator(
            new QuantumInterpolator(QuantumInterpolator.FAST_OUT_SLOW_IN, 0.25f, 0.25f, 0.5f),
            new QuantumInterpolator(QuantumInterpolator.FAST_OUT_SLOW_IN, 0.43f, 0.14f, 0.43f));
    mDrawerFadeInterpolator = new ReversibleInterpolator(
            new QuantumInterpolator(QuantumInterpolator.FAST_OUT_SLOW_IN, 0.625f, 0.25f, 0.125f),
            new QuantumInterpolator(QuantumInterpolator.FAST_OUT_LINEAR_IN, 0.58f, 0.14f, 0.28f));

    mHasWheel = CarUiResourceLoader.getBoolean(context, "has_wheel", false);
}

From source file:android.support.v7ox.app.AppCompatDelegateImplV7.java

private boolean initializePanelMenu(final PanelFeatureState st) {
    Context context = mContext;

    // If we have an action bar, initialize the menu with the right theme.
    if ((st.featureId == FEATURE_OPTIONS_PANEL || st.featureId == FEATURE_SUPPORT_ACTION_BAR)
            && mDecorContentParent != null) {
        final TypedValue outValue = new TypedValue();
        final Resources.Theme baseTheme = context.getTheme();
        baseTheme.resolveAttribute(R.attr.actionBarTheme_ox, outValue, true);

        Resources.Theme widgetTheme = null;
        if (outValue.resourceId != 0) {
            widgetTheme = context.getResources().newTheme();
            widgetTheme.setTo(baseTheme);
            widgetTheme.applyStyle(outValue.resourceId, true);
            widgetTheme.resolveAttribute(R.attr.actionBarWidgetTheme_ox, outValue, true);
        } else {//  w  w w.  j a va 2  s . c om
            baseTheme.resolveAttribute(R.attr.actionBarWidgetTheme_ox, outValue, true);
        }

        if (outValue.resourceId != 0) {
            if (widgetTheme == null) {
                widgetTheme = context.getResources().newTheme();
                widgetTheme.setTo(baseTheme);
            }
            widgetTheme.applyStyle(outValue.resourceId, true);
        }

        if (widgetTheme != null) {
            context = new ContextThemeWrapper(context, 0);
            context.getTheme().setTo(widgetTheme);
        }
    }

    final MenuBuilder menu = new MenuBuilder(context);
    menu.setCallback(this);
    st.setMenu(menu);

    return true;
}