List of usage examples for android.view Gravity CENTER_VERTICAL
int CENTER_VERTICAL
To view the source code for android.view Gravity CENTER_VERTICAL.
Click Source Link
From source file:com.ultrafunk.network_info.config.ConfigActivity.java
private void initLockscreenGravityView() { if (!isLockscreenWidget(appAppWidgetManager, appWidgetId)) { widgetConfig.setLockscreenWidget(false); RelativeLayout lockscreenRelativeLayout = (RelativeLayout) findViewById(R.id.lockscreenRelativeLayout); lockscreenRelativeLayout.setVisibility(View.GONE); } else {//from w ww.j a v a 2 s . c om widgetConfig.setLockscreenWidget(true); gravityCheckedTextView = (CheckedTextView) findViewById(R.id.gravityCheckedTextView); gravityCheckedTextView.setChecked((widgetConfig.getLockscreenGravity() == Gravity.TOP) ? false : true); gravityCheckedTextView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (gravityCheckedTextView.isChecked()) { widgetConfig.setLockscreenGravity(Gravity.TOP); gravityCheckedTextView.setChecked(false); } else { widgetConfig.setLockscreenGravity(Gravity.CENTER_VERTICAL); gravityCheckedTextView.setChecked(true); } } }); } }
From source file:com.muzakki.ahmad.widget.CollapsingToolbarLayout.java
public CollapsingToolbarLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); ThemeUtils.checkAppCompatTheme(context); mCollapsingTextHelper = new CollapsingTextHelper(this); mCollapsingTextHelper.setTextSizeInterpolator(AnimationUtils.DECELERATE_INTERPOLATOR); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CollapsingToolbarLayout, defStyleAttr, R.style.Widget_Design_CollapsingToolbar); mCollapsingTextHelper.setExpandedTextGravity(a.getInt( R.styleable.CollapsingToolbarLayout_expandedTitleGravity, GravityCompat.START | Gravity.BOTTOM)); mCollapsingTextHelper// w w w .j av a 2 s. c om .setCollapsedTextGravity(a.getInt(R.styleable.CollapsingToolbarLayout_collapsedTitleGravity, GravityCompat.START | Gravity.CENTER_VERTICAL)); mExpandedMarginStart = mExpandedMarginTop = mExpandedMarginEnd = mExpandedMarginBottom = a .getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMargin, 0); if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginStart)) { mExpandedMarginStart = a .getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginStart, 0); } if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginEnd)) { mExpandedMarginEnd = a.getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginEnd, 0); } if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginTop)) { mExpandedMarginTop = a.getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginTop, 0); } if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginBottom)) { mExpandedMarginBottom = a .getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginBottom, 0); } mCollapsingTitleEnabled = a.getBoolean(R.styleable.CollapsingToolbarLayout_titleEnabled, true); setTitle(a.getText(R.styleable.CollapsingToolbarLayout_title)); // begin modification TypedArray mStyle = context.obtainStyledAttributes(attrs, R.styleable.SubtitleCollapsingToolbar, defStyleAttr, R.style.SubtitleCollapsingToolbar); if (mStyle.hasValue(R.styleable.SubtitleCollapsingToolbar_subtitle)) setSubtitle(mStyle.getText(R.styleable.SubtitleCollapsingToolbar_subtitle).toString()); //load default appearances first mCollapsingTextHelper.setCollapsedSubAppearance(R.style.CollapsedSubtitleAppearance); mCollapsingTextHelper.setExpandedSubAppearance(R.style.ExpandedSubtitleAppearance); // now apply custom sub appearance if (mStyle.hasValue(R.styleable.SubtitleCollapsingToolbar_collapsedSubtitleAppearance)) { mCollapsingTextHelper.setCollapsedSubAppearance( mStyle.getResourceId(R.styleable.SubtitleCollapsingToolbar_collapsedSubtitleAppearance, 0)); } if (mStyle.hasValue(R.styleable.SubtitleCollapsingToolbar_expandedSubtitleAppearance)) { mCollapsingTextHelper.setExpandedSubAppearance( mStyle.getResourceId(R.styleable.SubtitleCollapsingToolbar_expandedSubtitleAppearance, 0)); } // end // First load the default text appearances mCollapsingTextHelper.setExpandedTextAppearance(R.style.TextAppearance_Design_CollapsingToolbar_Expanded); mCollapsingTextHelper.setCollapsedTextAppearance( android.support.v7.appcompat.R.style.TextAppearance_AppCompat_Widget_ActionBar_Title); // Now overlay any custom text appearances if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleTextAppearance)) { mCollapsingTextHelper.setExpandedTextAppearance( a.getResourceId(R.styleable.CollapsingToolbarLayout_expandedTitleTextAppearance, 0)); } if (a.hasValue(R.styleable.CollapsingToolbarLayout_collapsedTitleTextAppearance)) { mCollapsingTextHelper.setCollapsedTextAppearance( a.getResourceId(R.styleable.CollapsingToolbarLayout_collapsedTitleTextAppearance, 0)); } mScrimVisibleHeightTrigger = a .getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_scrimVisibleHeightTrigger, -1); mScrimAnimationDuration = a.getInt(R.styleable.CollapsingToolbarLayout_scrimAnimationDuration, DEFAULT_SCRIM_ANIMATION_DURATION); setContentScrim(a.getDrawable(R.styleable.CollapsingToolbarLayout_contentScrim)); setStatusBarScrim(a.getDrawable(R.styleable.CollapsingToolbarLayout_statusBarScrim)); mToolbarId = a.getResourceId(R.styleable.CollapsingToolbarLayout_toolbarId, -1); a.recycle(); setWillNotDraw(false); ViewCompat.setOnApplyWindowInsetsListener(this, new android.support.v4.view.OnApplyWindowInsetsListener() { @Override public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) { return onWindowInsetChanged(insets); } }); }
From source file:net.opacapp.multilinecollapsingtoolbar.CollapsingToolbarLayout.java
public CollapsingToolbarLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); ThemeUtils.checkAppCompatTheme(context); mCollapsingTextHelper = new CollapsingTextHelper(this); mCollapsingTextHelper.setTextSizeInterpolator(AnimationUtils.DECELERATE_INTERPOLATOR); // BEGIN MODIFICATION: use own default style TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CollapsingToolbarLayout, defStyleAttr, net.opacapp.multilinecollapsingtoolbar.R.style.Widget_Design_MultilineCollapsingToolbar); // END MODIFICATION mCollapsingTextHelper.setExpandedTextGravity(a.getInt( R.styleable.CollapsingToolbarLayout_expandedTitleGravity, GravityCompat.START | Gravity.BOTTOM)); mCollapsingTextHelper//from w w w.j av a 2 s .c o m .setCollapsedTextGravity(a.getInt(R.styleable.CollapsingToolbarLayout_collapsedTitleGravity, GravityCompat.START | Gravity.CENTER_VERTICAL)); mExpandedMarginStart = mExpandedMarginTop = mExpandedMarginEnd = mExpandedMarginBottom = a .getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMargin, 0); if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginStart)) { mExpandedMarginStart = a .getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginStart, 0); } if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginEnd)) { mExpandedMarginEnd = a.getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginEnd, 0); } if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginTop)) { mExpandedMarginTop = a.getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginTop, 0); } if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginBottom)) { mExpandedMarginBottom = a .getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginBottom, 0); } mCollapsingTitleEnabled = a.getBoolean(R.styleable.CollapsingToolbarLayout_titleEnabled, true); setTitle(a.getText(R.styleable.CollapsingToolbarLayout_title)); // First load the default text appearances mCollapsingTextHelper.setExpandedTextAppearance(R.style.TextAppearance_Design_CollapsingToolbar_Expanded); // BEGIN MODIFICATION: use own default style mCollapsingTextHelper .setCollapsedTextAppearance(net.opacapp.multilinecollapsingtoolbar.R.style.ActionBar_Title); // END MODIFICATION // Now overlay any custom text appearances if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleTextAppearance)) { mCollapsingTextHelper.setExpandedTextAppearance( a.getResourceId(R.styleable.CollapsingToolbarLayout_expandedTitleTextAppearance, 0)); } if (a.hasValue(R.styleable.CollapsingToolbarLayout_collapsedTitleTextAppearance)) { mCollapsingTextHelper.setCollapsedTextAppearance( a.getResourceId(R.styleable.CollapsingToolbarLayout_collapsedTitleTextAppearance, 0)); } mScrimVisibleHeightTrigger = a.getInt(R.styleable.CollapsingToolbarLayout_scrimVisibleHeightTrigger, -1); mScrimAnimationDuration = a.getInt(R.styleable.CollapsingToolbarLayout_scrimAnimationDuration, DEFAULT_SCRIM_ANIMATION_DURATION); setContentScrim(a.getDrawable(R.styleable.CollapsingToolbarLayout_contentScrim)); setStatusBarScrim(a.getDrawable(R.styleable.CollapsingToolbarLayout_statusBarScrim)); mToolbarId = a.getResourceId(R.styleable.CollapsingToolbarLayout_toolbarId, -1); a.recycle(); setWillNotDraw(false); ViewCompat.setOnApplyWindowInsetsListener(this, new android.support.v4.view.OnApplyWindowInsetsListener() { @Override public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) { return setWindowInsets(insets); } }); // BEGIN MODIFICATION: set the value of maxNumberOfLines attribute to the mCollapsingTextHelper TypedArray typedArray = context.obtainStyledAttributes(attrs, net.opacapp.multilinecollapsingtoolbar.R.styleable.CollapsingToolbarLayoutExtension, defStyleAttr, 0); mCollapsingTextHelper.setMaxLines(typedArray.getInteger( net.opacapp.multilinecollapsingtoolbar.R.styleable.CollapsingToolbarLayoutExtension_maxLines, 3)); // END MODIFICATION }
From source file:smart.services.adapter.ManageCarsAdapter.java
private void deleteDialog(final int position) { final TextView input = new TextView(context); AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context); alertDialogBuilder.setTitle("Delete"); alertDialogBuilder.setCancelable(false).setPositiveButton("Ok", new DialogInterface.OnClickListener() { @SuppressLint("DefaultLocale") public void onClick(DialogInterface dialog, int id) { DeleteCar deleteCar = new DeleteCar(position); deleteCar.execute();//from w ww . j av a 2s . c o m } }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }); // create alert dialog AlertDialog alertDialog = alertDialogBuilder.create(); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); input.setText("Are You sure You want to delete this record ?"); input.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL); input.setTextSize(20); input.setLayoutParams(lp); alertDialog.setView(input); alertDialog.show(); }
From source file:cn.com.bjnews.thinker.view.MyTabPageIndicator.java
private void addTab(int index, CharSequence text, int iconResId) { final TabView tabView = new TabView(getContext()); tabView.mIndex = index;//from w w w . j ava 2 s . c o m tabView.setFocusable(true); tabView.setOnClickListener(mTabClickListener); tabView.setText(text); tabView.setSingleLine(); Log.d("tag", "margin=right->" + rightMargin); tabView.setPadding(leftMargin, 10, rightMargin, 10); tabView.setGravity(Gravity.CENTER_VERTICAL); // tabView.setTextSize(TypedValue.COMPLEX_UNIT_PX,27); tabView.setTextColor(Color.WHITE); tabView.setBackgroundResource(cn.com.bjnews.newsroom.R.drawable.selector_indicator); tabView.setTextAppearance(getContext(), cn.com.bjnews.newsroom.R.style.MediumText27); Log.d("tag", "tabIndicator-->" + tabView.getTextSize()); if (iconResId != 0) { tabView.setCompoundDrawablesWithIntrinsicBounds(iconResId, 0, 0, 0); } mTabLayout.addView(tabView, new LinearLayout.LayoutParams(0, MATCH_PARENT, 1)); }
From source file:android.support.design.widget.CollapsingToolbarLayout.java
public CollapsingToolbarLayout(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); ThemeUtils.checkAppCompatTheme(context); mCollapsingTextHelper = new CollapsingTextHelper(this); mCollapsingTextHelper.setTextSizeInterpolator(AnimationUtils.DECELERATE_INTERPOLATOR); TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CollapsingToolbarLayout, defStyleAttr, R.style.Widget_Design_CollapsingToolbar); mCollapsingTextHelper.setExpandedTextGravity(a.getInt( R.styleable.CollapsingToolbarLayout_expandedTitleGravity, GravityCompat.START | Gravity.BOTTOM)); mCollapsingTextHelper//from w ww . j a v a2 s . c o m .setCollapsedTextGravity(a.getInt(R.styleable.CollapsingToolbarLayout_collapsedTitleGravity, GravityCompat.START | Gravity.CENTER_VERTICAL)); mExpandedMarginStart = mExpandedMarginTop = mExpandedMarginEnd = mExpandedMarginBottom = a .getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMargin, 0); if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginStart)) { mExpandedMarginStart = a .getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginStart, 0); } if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginEnd)) { mExpandedMarginEnd = a.getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginEnd, 0); } if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginTop)) { mExpandedMarginTop = a.getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginTop, 0); } if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleMarginBottom)) { mExpandedMarginBottom = a .getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_expandedTitleMarginBottom, 0); } mCollapsingTitleEnabled = a.getBoolean(R.styleable.CollapsingToolbarLayout_titleEnabled, true); setTitle(a.getText(R.styleable.CollapsingToolbarLayout_title)); // First load the default text appearances mCollapsingTextHelper.setExpandedTextAppearance(R.style.TextAppearance_Design_CollapsingToolbar_Expanded); mCollapsingTextHelper.setCollapsedTextAppearance( android.support.v7.appcompat.R.style.TextAppearance_AppCompat_Widget_ActionBar_Title); // Now overlay any custom text appearances if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleTextAppearance)) { mCollapsingTextHelper.setExpandedTextAppearance( a.getResourceId(R.styleable.CollapsingToolbarLayout_expandedTitleTextAppearance, 0)); } if (a.hasValue(R.styleable.CollapsingToolbarLayout_collapsedTitleTextAppearance)) { mCollapsingTextHelper.setCollapsedTextAppearance( a.getResourceId(R.styleable.CollapsingToolbarLayout_collapsedTitleTextAppearance, 0)); } mScrimVisibleHeightTrigger = a .getDimensionPixelSize(R.styleable.CollapsingToolbarLayout_scrimVisibleHeightTrigger, -1); mScrimAnimationDuration = a.getInt(R.styleable.CollapsingToolbarLayout_scrimAnimationDuration, DEFAULT_SCRIM_ANIMATION_DURATION); setContentScrim(a.getDrawable(R.styleable.CollapsingToolbarLayout_contentScrim)); setStatusBarScrim(a.getDrawable(R.styleable.CollapsingToolbarLayout_statusBarScrim)); mToolbarId = a.getResourceId(R.styleable.CollapsingToolbarLayout_toolbarId, -1); a.recycle(); setWillNotDraw(false); ViewCompat.setOnApplyWindowInsetsListener(this, new android.support.v4.view.OnApplyWindowInsetsListener() { @Override public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) { return onWindowInsetChanged(insets); } }); }
From source file:com.mishiranu.dashchan.ui.navigator.page.PostsPage.java
@Override protected void onCreate() { Activity activity = getActivity();/*from w ww. ja va 2 s . c o m*/ PullableListView listView = getListView(); PageHolder pageHolder = getPageHolder(); UiManager uiManager = getUiManager(); hidePerformer = new HidePerformer(); PostsExtra extra = getExtra(); listView.setDivider(ResourceUtils.getDrawable(activity, R.attr.postsDivider, 0)); ChanConfiguration.Board board = getChanConfiguration().safe().obtainBoard(pageHolder.boardName); if (board.allowPosting) { replyable = data -> getUiManager().navigator().navigatePosting(pageHolder.chanName, pageHolder.boardName, pageHolder.threadNumber, data); } PostsAdapter adapter = new PostsAdapter(activity, pageHolder.chanName, pageHolder.boardName, uiManager, replyable, hidePerformer, extra.userPostNumbers, listView); initAdapter(adapter, adapter); ImageLoader.getInstance().observable().register(this); listView.getWrapper().setPullSides(PullableWrapper.Side.BOTH); uiManager.observable().register(this); hidePerformer.setPostsProvider(adapter); Context darkStyledContext = new ContextThemeWrapper(activity, R.style.Theme_General_Main_Dark); searchController = new LinearLayout(darkStyledContext); searchController.setOrientation(LinearLayout.HORIZONTAL); searchController.setGravity(Gravity.CENTER_VERTICAL); float density = ResourceUtils.obtainDensity(getResources()); int padding = (int) (10f * density); searchTextResult = new Button(darkStyledContext, null, android.R.attr.borderlessButtonStyle); searchTextResult.setTextSize(11f); if (!C.API_LOLLIPOP) { searchTextResult.setTypeface(null, Typeface.BOLD); } searchTextResult.setPadding((int) (14f * density), 0, (int) (14f * density), 0); searchTextResult.setMinimumWidth(0); searchTextResult.setMinWidth(0); searchTextResult.setOnClickListener(v -> showSearchDialog()); searchController.addView(searchTextResult, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); ImageView backButtonView = new ImageView(darkStyledContext, null, android.R.attr.borderlessButtonStyle); backButtonView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); backButtonView.setImageResource(obtainIcon(R.attr.actionBack)); backButtonView.setPadding(padding, padding, padding, padding); backButtonView.setOnClickListener(v -> findBack()); searchController.addView(backButtonView, (int) (48f * density), (int) (48f * density)); ImageView forwardButtonView = new ImageView(darkStyledContext, null, android.R.attr.borderlessButtonStyle); forwardButtonView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); forwardButtonView.setImageResource(obtainIcon(R.attr.actionForward)); forwardButtonView.setPadding(padding, padding, padding, padding); forwardButtonView.setOnClickListener(v -> findForward()); searchController.addView(forwardButtonView, (int) (48f * density), (int) (48f * density)); if (C.API_LOLLIPOP) { for (int i = 0, last = searchController.getChildCount() - 1; i <= last; i++) { View view = searchController.getChildAt(i); LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) view.getLayoutParams(); if (i == 0) { layoutParams.leftMargin = (int) (-6f * density); } if (i == last) { layoutParams.rightMargin = (int) (6f * density); } else { layoutParams.rightMargin = (int) (-6f * density); } } } scrollToPostNumber = pageHolder.initialPostNumber; FavoritesStorage.getInstance().getObservable().register(this); LocalBroadcastManager.getInstance(activity).registerReceiver(galleryPagerReceiver, new IntentFilter(C.ACTION_GALLERY_NAVIGATE_POST)); boolean hasNewPostDatas = handleNewPostDatas(); extra.forceRefresh = hasNewPostDatas || !pageHolder.initialFromCache; if (extra.cachedPosts != null && extra.cachedPostItems.size() > 0) { onDeserializePostsCompleteInternal(true, extra.cachedPosts, new ArrayList<>(extra.cachedPostItems), true); } else { deserializeTask = new DeserializePostsTask(this, pageHolder.chanName, pageHolder.boardName, pageHolder.threadNumber, extra.cachedPosts); deserializeTask.executeOnExecutor(DeserializePostsTask.THREAD_POOL_EXECUTOR); getListView().getWrapper().startBusyState(PullableWrapper.Side.BOTH); switchView(ViewType.PROGRESS, null); } pageHolder.setInitialPostsData(false, null); }
From source file:org.chromium.chrome.browser.payments.ui.PaymentRequestSection.java
/** * Constructs a PaymentRequestSection.//from ww w.j av a 2 s . c o m * * @param context Context to pull resources from. * @param sectionName Title of the section to display. * @param delegate Delegate to alert when something changes in the dialog. */ private PaymentRequestSection(Context context, String sectionName, SectionDelegate delegate) { super(context); mDelegate = delegate; setOnClickListener(delegate); setOrientation(HORIZONTAL); setGravity(Gravity.CENTER_VERTICAL); // Set the styling of the view. mFocusedBackgroundColor = ApiCompatibilityUtils.getColor(getResources(), R.color.payments_section_edit_background); mLargeSpacing = getResources().getDimensionPixelSize(R.dimen.payments_section_large_spacing); mVerticalSpacing = getResources().getDimensionPixelSize(R.dimen.payments_section_vertical_spacing); setPadding(mLargeSpacing, mVerticalSpacing, mLargeSpacing, mVerticalSpacing); // Create the main content. mMainSection = prepareMainSection(sectionName); mLogoView = isLogoNecessary() ? createAndAddLogoView(this, mLargeSpacing) : null; mEditButtonView = createAndAddEditButton(this); mChevronView = createAndAddChevron(this); mIsLayoutInitialized = true; setDisplayMode(DISPLAY_MODE_NORMAL); }
From source file:com.quran.labs.androidquran.widgets.spinner.SpinnerCompat.java
/** * Construct a new spinner with the given context's theme, the supplied attribute set, and * default style. <code>mode</code> may be one of {@link #MODE_DIALOG} or {@link #MODE_DROPDOWN} * and determines how the user will select choices from the spinner. * * @param context The Context the view is running in, through which it can access the current * theme, resources, etc. * @param attrs The attributes of the XML tag that is inflating the view. * @param defStyle The default style to apply to this view. If 0, no style will be applied * (beyond what is included in the theme). This may either be an attribute * resource, whose value will be retrieved from the current theme, or an * explicit style resource. * @param mode Constant describing how the user will select choices from the spinner. * @see #MODE_DIALOG//from ww w .j av a2s . c o m * @see #MODE_DROPDOWN */ public SpinnerCompat(Context context, AttributeSet attrs, int defStyle, int mode) { super(context, attrs, defStyle); TintTypedArray a = TintTypedArray.obtainStyledAttributes(context, attrs, R.styleable.Spinner, defStyle, 0); // Need to reset this for tinting purposes // used to be read from R.styleable.Spinner_android_background setBackgroundResource(R.drawable.spinner_mtrl_am_alpha); if (mode == MODE_THEME) { // used to be read from R.styleable.Spinner_spinnerMode mode = MODE_DROPDOWN; } switch (mode) { case MODE_DIALOG: { mPopup = new DialogPopup(); break; } case MODE_DROPDOWN: { final DropdownPopup popup = new DropdownPopup(context, attrs, defStyle); mDropDownWidth = ViewGroup.LayoutParams.WRAP_CONTENT; //popup.setBackgroundDrawable( // a.getDrawable(R.styleable.Spinner_android_popupBackground)); popup.setBackgroundDrawable(getResources().getDrawable(R.drawable.popup_background_material)); mPopup = popup; mForwardingListener = new ListPopupWindow.ForwardingListener(this) { @Override public ListPopupWindow getPopup() { return popup; } @Override public boolean onForwardingStarted() { if (!mPopup.isShowing()) { mPopup.show(); } return true; } }; break; } } // used to be read from R.styleable.Spinner_android_gravity mGravity = Gravity.START | Gravity.CENTER_VERTICAL; // used to be read from R.styleable.Spinner_disableChildrenWhenDisabled mDisableChildrenWhenDisabled = true; a.recycle(); // Base constructor can call setAdapter before we initialize mPopup. // Finish setting things up if this happened. if (mTempAdapter != null) { mPopup.setAdapter(mTempAdapter); mTempAdapter = null; } }
From source file:org.michaelbel.bottomsheet.BottomSheet.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (backgroundColor == 0) { backgroundColor = darkTheme ? 0xFF424242 : 0xFFFFFFFF; }//from ww w . j a v a 2 s. co m if (titleTextColor == 0) { titleTextColor = darkTheme ? 0xB3FFFFFF : 0x8A000000; } if (itemTextColor == 0) { itemTextColor = darkTheme ? 0xFFFFFFFF : 0xDE000000; } if (iconColor == 0) { iconColor = darkTheme ? 0xFFFFFFFF : 0x8A000000; } if (itemSelector == 0) { itemSelector = darkTheme ? R.drawable.selectable_dark : R.drawable.selectable_light; } Window window = getWindow(); window.setWindowAnimations(R.style.DialogNoAnimation); setContentView(container, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); if (containerView == null) { containerView = new FrameLayout(getContext()) { @Override public boolean hasOverlappingRendering() { return false; } }; if (Build.VERSION.SDK_INT >= 16) { containerView.setBackground(shadowDrawable); } else { containerView.setBackgroundDrawable(shadowDrawable); } containerView.setPadding(0, backgroundPaddingTop, 0, Utils.dp(getContext(), 8)); } if (Build.VERSION.SDK_INT >= 21) { containerView.setFitsSystemWindows(true); } containerView.setVisibility(View.INVISIBLE); containerView.setBackgroundColor(backgroundColor); FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); params.gravity = Gravity.BOTTOM; containerView.setLayoutParams(params); container.addView(containerView, 0); if (customView != null) { if (customView.getParent() != null) { ViewGroup viewGroup = (ViewGroup) customView.getParent(); viewGroup.removeView(customView); } FrameLayout.LayoutParams params1 = (FrameLayout.LayoutParams) containerView.getLayoutParams(); params1.width = ViewGroup.LayoutParams.MATCH_PARENT; params1.height = ViewGroup.LayoutParams.WRAP_CONTENT; params1.gravity = Gravity.START | Gravity.TOP; containerView.addView(customView, params1); } else { int topOffset = 0; if (titleText != null) { TextView titleTextView = new TextView(getContext()); titleTextView.setLines(1); titleTextView.setMaxLines(1); titleTextView.setSingleLine(true); titleTextView.setText(titleText); titleTextView.setTextColor(titleTextColor); titleTextView.setEllipsize(TextUtils.TruncateAt.MIDDLE); titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); titleTextView.setGravity(Gravity.CENTER_VERTICAL); FrameLayout.LayoutParams params0 = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, Utils.dp(getContext(), 56)); params0.gravity = Gravity.START | Gravity.TOP; params0.leftMargin = Utils.dp(getContext(), 16); params0.rightMargin = Utils.dp(getContext(), 16); titleTextView.setLayoutParams(params0); containerView.addView(titleTextView); titleTextView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return true; } }); topOffset += 56; } BottomSheetAdapter adapter = new BottomSheetAdapter(); if (mItems != null || mItemsRes != null) { if (contentType == LIST) { FrameLayout.LayoutParams params2 = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); params2.topMargin = Utils.dp(getContext(), topOffset); ListView listView = new ListView(getContext()); listView.setSelector(itemSelector); listView.setDividerHeight(0); listView.setAdapter(adapter); listView.setDrawSelectorOnTop(true); listView.setVerticalScrollBarEnabled(false); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { dismissWithButtonClick(i); } }); listView.setLayoutParams(params2); containerView.addView(listView); } else if (contentType == GRID) { FrameLayout.LayoutParams params3 = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); GridView gridView = new GridView(getContext()); gridView.setSelector(itemSelector); gridView.setAdapter(adapter); gridView.setNumColumns(3); gridView.setVerticalScrollBarEnabled(false); gridView.setVerticalSpacing(Utils.dp(getContext(), 16)); gridView.setPadding(Utils.dp(getContext(), 0), Utils.dp(getContext(), topOffset + 8), Utils.dp(getContext(), 0), Utils.dp(getContext(), 16)); gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { dismissWithButtonClick(i); } }); gridView.setLayoutParams(params3); containerView.addView(gridView); } if (mItems != null) { for (int a = 0; a < mItems.length; a++) { items.add(new Item(mItems[a], mIcons != null ? mIcons[a] : 0)); } } else { for (int a = 0; a < mItemsRes.length; a++) { items.add(new Item(getContext().getText(mItemsRes[a]), mIcons != null ? mIcons[a] : 0)); } } adapter.notifyDataSetChanged(); } } WindowManager.LayoutParams params4 = window.getAttributes(); params4.width = ViewGroup.LayoutParams.MATCH_PARENT; params4.gravity = Gravity.TOP | Gravity.START; params4.dimAmount = 0; params4.flags &= ~WindowManager.LayoutParams.FLAG_DIM_BEHIND; if (!focusable) { params4.flags |= WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; } params4.height = ViewGroup.LayoutParams.MATCH_PARENT; window.setAttributes(params4); }