Search in sources :

Example 1 with ScrollView

use of android.widget.ScrollView in project qksms by moezbhatti.

the class QKDialog method onCreateDialog.

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    Dialog dialog = new Dialog(mContext);
    Window window = dialog.getWindow();
    window.requestFeature(Window.FEATURE_NO_TITLE);
    window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
    LayoutInflater inflater = getActivity().getLayoutInflater();
    View view = inflater.inflate(R.layout.dialog_material, null);
    if (mTitleEnabled || mMessageEnabled) {
        mContentPanel = (LinearLayout) view.findViewById(R.id.contentPanel);
        mContentPanel.setVisibility(View.VISIBLE);
    }
    if (mTitleEnabled) {
        mTitleView = (QKTextView) view.findViewById(R.id.alertTitle);
        mTitleView.setVisibility(View.VISIBLE);
        mTitleView.setText(mTitleText);
        Log.d(TAG, "title enabled");
    }
    if (mMessageEnabled) {
        mMessageView = (QKTextView) view.findViewById(R.id.message);
        mMessageView.setVisibility(View.VISIBLE);
        mMessageView.setText(mMessageText);
    }
    if (mCustomViewEnabled) {
        mCustomPanel = (LinearLayout) view.findViewById(R.id.customPanel);
        mCustomPanel.setVisibility(View.VISIBLE);
        if (mCustomView instanceof ListView || mCustomView instanceof RecyclerView) {
            mCustomPanel.addView(mCustomView);
        } else {
            ScrollView scrollView = new ScrollView(mContext);
            scrollView.addView(mCustomView);
            mCustomPanel.addView(scrollView);
        }
    }
    if (mPositiveButtonEnabled || mNegativeButtonEnabled) {
        mButtonBar = (LinearLayout) view.findViewById(R.id.buttonPanel);
        mButtonBar.setVisibility(View.VISIBLE);
        mButtonBar.setOrientation(mButtonBarOrientation);
    }
    if (mPositiveButtonEnabled) {
        mPositiveButtonView = (QKTextView) view.findViewById(R.id.buttonPositive);
        mPositiveButtonView.setVisibility(View.VISIBLE);
        mPositiveButtonView.setText(mPositiveButtonText);
        mPositiveButtonView.setOnClickListener(mPositiveButtonClickListener);
        LiveViewManager.registerView(QKPreference.THEME, mPositiveButtonView, key -> {
            mPositiveButtonView.setTextColor(ThemeManager.getColor());
        });
    }
    if (mNeutralButtonEnabled) {
        mNeutralButtonView = (QKTextView) view.findViewById(R.id.buttonNeutral);
        mNeutralButtonView.setVisibility(View.VISIBLE);
        mNeutralButtonView.setText(mNeutralButtonText);
        mNeutralButtonView.setOnClickListener(mNeutralButtonClickListener);
    }
    if (mNegativeButtonEnabled) {
        mNegativeButtonView = (QKTextView) view.findViewById(R.id.buttonNegative);
        mNegativeButtonView.setVisibility(View.VISIBLE);
        mNegativeButtonView.setText(mNegativeButtonText);
        mNegativeButtonView.setOnClickListener(mNegativeButtonClickListener);
    }
    dialog.setContentView(view);
    return dialog;
}
Also used : Window(android.view.Window) ListView(android.widget.ListView) ColorDrawable(android.graphics.drawable.ColorDrawable) ScrollView(android.widget.ScrollView) Dialog(android.app.Dialog) LayoutInflater(android.view.LayoutInflater) RecyclerView(android.support.v7.widget.RecyclerView) QKTextView(com.moez.QKSMS.ui.view.QKTextView) View(android.view.View) AdapterView(android.widget.AdapterView) RecyclerView(android.support.v7.widget.RecyclerView) ScrollView(android.widget.ScrollView) ListView(android.widget.ListView)

Example 2 with ScrollView

use of android.widget.ScrollView in project material-dialogs by afollestad.

the class DialogInit method init.

@SuppressWarnings("ConstantConditions")
@UiThread
public static void init(final MaterialDialog dialog) {
    final MaterialDialog.Builder builder = dialog.builder;
    // Set cancelable flag and dialog background color
    dialog.setCancelable(builder.cancelable);
    dialog.setCanceledOnTouchOutside(builder.canceledOnTouchOutside);
    if (builder.backgroundColor == 0) {
        builder.backgroundColor = DialogUtils.resolveColor(builder.context, R.attr.md_background_color, DialogUtils.resolveColor(dialog.getContext(), R.attr.colorBackgroundFloating));
    }
    if (builder.backgroundColor != 0) {
        GradientDrawable drawable = new GradientDrawable();
        drawable.setCornerRadius(builder.context.getResources().getDimension(R.dimen.md_bg_corner_radius));
        drawable.setColor(builder.backgroundColor);
        dialog.getWindow().setBackgroundDrawable(drawable);
    }
    // Retrieve color theme attributes
    if (!builder.positiveColorSet) {
        builder.positiveColor = DialogUtils.resolveActionTextColorStateList(builder.context, R.attr.md_positive_color, builder.positiveColor);
    }
    if (!builder.neutralColorSet) {
        builder.neutralColor = DialogUtils.resolveActionTextColorStateList(builder.context, R.attr.md_neutral_color, builder.neutralColor);
    }
    if (!builder.negativeColorSet) {
        builder.negativeColor = DialogUtils.resolveActionTextColorStateList(builder.context, R.attr.md_negative_color, builder.negativeColor);
    }
    if (!builder.widgetColorSet) {
        builder.widgetColor = DialogUtils.resolveColor(builder.context, R.attr.md_widget_color, builder.widgetColor);
    }
    // Retrieve default title/content colors
    if (!builder.titleColorSet) {
        final int titleColorFallback = DialogUtils.resolveColor(dialog.getContext(), android.R.attr.textColorPrimary);
        builder.titleColor = DialogUtils.resolveColor(builder.context, R.attr.md_title_color, titleColorFallback);
    }
    if (!builder.contentColorSet) {
        final int contentColorFallback = DialogUtils.resolveColor(dialog.getContext(), android.R.attr.textColorSecondary);
        builder.contentColor = DialogUtils.resolveColor(builder.context, R.attr.md_content_color, contentColorFallback);
    }
    if (!builder.itemColorSet) {
        builder.itemColor = DialogUtils.resolveColor(builder.context, R.attr.md_item_color, builder.contentColor);
    }
    // Retrieve references to views
    dialog.title = (TextView) dialog.view.findViewById(R.id.md_title);
    dialog.icon = (ImageView) dialog.view.findViewById(R.id.md_icon);
    dialog.titleFrame = dialog.view.findViewById(R.id.md_titleFrame);
    dialog.content = (TextView) dialog.view.findViewById(R.id.md_content);
    dialog.recyclerView = (RecyclerView) dialog.view.findViewById(R.id.md_contentRecyclerView);
    dialog.checkBoxPrompt = (CheckBox) dialog.view.findViewById(R.id.md_promptCheckbox);
    // Button views initially used by checkIfStackingNeeded()
    dialog.positiveButton = (MDButton) dialog.view.findViewById(R.id.md_buttonDefaultPositive);
    dialog.neutralButton = (MDButton) dialog.view.findViewById(R.id.md_buttonDefaultNeutral);
    dialog.negativeButton = (MDButton) dialog.view.findViewById(R.id.md_buttonDefaultNegative);
    // Don't allow the submit button to not be shown for input dialogs
    if (builder.inputCallback != null && builder.positiveText == null) {
        builder.positiveText = builder.context.getText(android.R.string.ok);
    }
    // Set up the initial visibility of action buttons based on whether or not text was set
    dialog.positiveButton.setVisibility(builder.positiveText != null ? View.VISIBLE : View.GONE);
    dialog.neutralButton.setVisibility(builder.neutralText != null ? View.VISIBLE : View.GONE);
    dialog.negativeButton.setVisibility(builder.negativeText != null ? View.VISIBLE : View.GONE);
    // Set up the focus of action buttons
    dialog.positiveButton.setFocusable(true);
    dialog.neutralButton.setFocusable(true);
    dialog.negativeButton.setFocusable(true);
    if (builder.positiveFocus) {
        dialog.positiveButton.requestFocus();
    }
    if (builder.neutralFocus) {
        dialog.neutralButton.requestFocus();
    }
    if (builder.negativeFocus) {
        dialog.negativeButton.requestFocus();
    }
    // Setup icon
    if (builder.icon != null) {
        dialog.icon.setVisibility(View.VISIBLE);
        dialog.icon.setImageDrawable(builder.icon);
    } else {
        Drawable d = DialogUtils.resolveDrawable(builder.context, R.attr.md_icon);
        if (d != null) {
            dialog.icon.setVisibility(View.VISIBLE);
            dialog.icon.setImageDrawable(d);
        } else {
            dialog.icon.setVisibility(View.GONE);
        }
    }
    // Setup icon size limiting
    int maxIconSize = builder.maxIconSize;
    if (maxIconSize == -1) {
        maxIconSize = DialogUtils.resolveDimension(builder.context, R.attr.md_icon_max_size);
    }
    if (builder.limitIconToDefaultSize || DialogUtils.resolveBoolean(builder.context, R.attr.md_icon_limit_icon_to_default_size)) {
        maxIconSize = builder.context.getResources().getDimensionPixelSize(R.dimen.md_icon_max_size);
    }
    if (maxIconSize > -1) {
        dialog.icon.setAdjustViewBounds(true);
        dialog.icon.setMaxHeight(maxIconSize);
        dialog.icon.setMaxWidth(maxIconSize);
        dialog.icon.requestLayout();
    }
    // Setup divider color in case content scrolls
    if (!builder.dividerColorSet) {
        final int dividerFallback = DialogUtils.resolveColor(dialog.getContext(), R.attr.md_divider);
        builder.dividerColor = DialogUtils.resolveColor(builder.context, R.attr.md_divider_color, dividerFallback);
    }
    dialog.view.setDividerColor(builder.dividerColor);
    // Setup title and title frame
    if (dialog.title != null) {
        dialog.setTypeface(dialog.title, builder.mediumFont);
        dialog.title.setTextColor(builder.titleColor);
        dialog.title.setGravity(builder.titleGravity.getGravityInt());
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            //noinspection ResourceType
            dialog.title.setTextAlignment(builder.titleGravity.getTextAlignment());
        }
        if (builder.title == null) {
            dialog.titleFrame.setVisibility(View.GONE);
        } else {
            dialog.title.setText(builder.title);
            dialog.titleFrame.setVisibility(View.VISIBLE);
        }
    }
    // Setup content
    if (dialog.content != null) {
        dialog.content.setMovementMethod(new LinkMovementMethod());
        dialog.setTypeface(dialog.content, builder.regularFont);
        dialog.content.setLineSpacing(0f, builder.contentLineSpacingMultiplier);
        if (builder.linkColor == null) {
            dialog.content.setLinkTextColor(DialogUtils.resolveColor(dialog.getContext(), android.R.attr.textColorPrimary));
        } else {
            dialog.content.setLinkTextColor(builder.linkColor);
        }
        dialog.content.setTextColor(builder.contentColor);
        dialog.content.setGravity(builder.contentGravity.getGravityInt());
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            //noinspection ResourceType
            dialog.content.setTextAlignment(builder.contentGravity.getTextAlignment());
        }
        if (builder.content != null) {
            dialog.content.setText(builder.content);
            dialog.content.setVisibility(View.VISIBLE);
        } else {
            dialog.content.setVisibility(View.GONE);
        }
    }
    // Setup prompt checkbox
    if (dialog.checkBoxPrompt != null) {
        dialog.checkBoxPrompt.setText(builder.checkBoxPrompt);
        dialog.checkBoxPrompt.setChecked(builder.checkBoxPromptInitiallyChecked);
        dialog.checkBoxPrompt.setOnCheckedChangeListener(builder.checkBoxPromptListener);
        dialog.setTypeface(dialog.checkBoxPrompt, builder.regularFont);
        dialog.checkBoxPrompt.setTextColor(builder.contentColor);
        MDTintHelper.setTint(dialog.checkBoxPrompt, builder.widgetColor);
    }
    // Setup action buttons
    dialog.view.setButtonGravity(builder.buttonsGravity);
    dialog.view.setButtonStackedGravity(builder.btnStackedGravity);
    dialog.view.setStackingBehavior(builder.stackingBehavior);
    boolean textAllCaps;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        textAllCaps = DialogUtils.resolveBoolean(builder.context, android.R.attr.textAllCaps, true);
        if (textAllCaps) {
            textAllCaps = DialogUtils.resolveBoolean(builder.context, R.attr.textAllCaps, true);
        }
    } else {
        textAllCaps = DialogUtils.resolveBoolean(builder.context, R.attr.textAllCaps, true);
    }
    MDButton positiveTextView = dialog.positiveButton;
    dialog.setTypeface(positiveTextView, builder.mediumFont);
    positiveTextView.setAllCapsCompat(textAllCaps);
    positiveTextView.setText(builder.positiveText);
    positiveTextView.setTextColor(builder.positiveColor);
    dialog.positiveButton.setStackedSelector(dialog.getButtonSelector(DialogAction.POSITIVE, true));
    dialog.positiveButton.setDefaultSelector(dialog.getButtonSelector(DialogAction.POSITIVE, false));
    dialog.positiveButton.setTag(DialogAction.POSITIVE);
    dialog.positiveButton.setOnClickListener(dialog);
    dialog.positiveButton.setVisibility(View.VISIBLE);
    MDButton negativeTextView = dialog.negativeButton;
    dialog.setTypeface(negativeTextView, builder.mediumFont);
    negativeTextView.setAllCapsCompat(textAllCaps);
    negativeTextView.setText(builder.negativeText);
    negativeTextView.setTextColor(builder.negativeColor);
    dialog.negativeButton.setStackedSelector(dialog.getButtonSelector(DialogAction.NEGATIVE, true));
    dialog.negativeButton.setDefaultSelector(dialog.getButtonSelector(DialogAction.NEGATIVE, false));
    dialog.negativeButton.setTag(DialogAction.NEGATIVE);
    dialog.negativeButton.setOnClickListener(dialog);
    dialog.negativeButton.setVisibility(View.VISIBLE);
    MDButton neutralTextView = dialog.neutralButton;
    dialog.setTypeface(neutralTextView, builder.mediumFont);
    neutralTextView.setAllCapsCompat(textAllCaps);
    neutralTextView.setText(builder.neutralText);
    neutralTextView.setTextColor(builder.neutralColor);
    dialog.neutralButton.setStackedSelector(dialog.getButtonSelector(DialogAction.NEUTRAL, true));
    dialog.neutralButton.setDefaultSelector(dialog.getButtonSelector(DialogAction.NEUTRAL, false));
    dialog.neutralButton.setTag(DialogAction.NEUTRAL);
    dialog.neutralButton.setOnClickListener(dialog);
    dialog.neutralButton.setVisibility(View.VISIBLE);
    // Setup list dialog stuff
    if (builder.listCallbackMultiChoice != null) {
        dialog.selectedIndicesList = new ArrayList<>();
    }
    if (dialog.recyclerView != null) {
        if (builder.adapter == null) {
            // Determine list type
            if (builder.listCallbackSingleChoice != null) {
                dialog.listType = MaterialDialog.ListType.SINGLE;
            } else if (builder.listCallbackMultiChoice != null) {
                dialog.listType = MaterialDialog.ListType.MULTI;
                if (builder.selectedIndices != null) {
                    dialog.selectedIndicesList = new ArrayList<>(Arrays.asList(builder.selectedIndices));
                    builder.selectedIndices = null;
                }
            } else {
                dialog.listType = MaterialDialog.ListType.REGULAR;
            }
            builder.adapter = new DefaultRvAdapter(dialog, MaterialDialog.ListType.getLayoutForType(dialog.listType));
        } else if (builder.adapter instanceof MDAdapter) {
            // Notify simple list adapter of the dialog it belongs to
            ((MDAdapter) builder.adapter).setDialog(dialog);
        }
    }
    // Setup progress dialog stuff if needed
    setupProgressDialog(dialog);
    // Setup input dialog stuff if needed
    setupInputDialog(dialog);
    // Setup custom views
    if (builder.customView != null) {
        ((MDRootLayout) dialog.view.findViewById(R.id.md_root)).noTitleNoPadding();
        FrameLayout frame = (FrameLayout) dialog.view.findViewById(R.id.md_customViewFrame);
        dialog.customViewFrame = frame;
        View innerView = builder.customView;
        if (innerView.getParent() != null) {
            ((ViewGroup) innerView.getParent()).removeView(innerView);
        }
        if (builder.wrapCustomViewInScroll) {
            /* Apply the frame padding to the content, this allows the ScrollView to draw it's
                   over scroll glow without clipping */
            final Resources r = dialog.getContext().getResources();
            final int framePadding = r.getDimensionPixelSize(R.dimen.md_dialog_frame_margin);
            final ScrollView sv = new ScrollView(dialog.getContext());
            int paddingTop = r.getDimensionPixelSize(R.dimen.md_content_padding_top);
            int paddingBottom = r.getDimensionPixelSize(R.dimen.md_content_padding_bottom);
            sv.setClipToPadding(false);
            if (innerView instanceof EditText) {
                // Setting padding to an EditText causes visual errors, set it to the parent instead
                sv.setPadding(framePadding, paddingTop, framePadding, paddingBottom);
            } else {
                // Setting padding to scroll view pushes the scroll bars out, don't do it if not necessary (like above)
                sv.setPadding(0, paddingTop, 0, paddingBottom);
                innerView.setPadding(framePadding, 0, framePadding, 0);
            }
            sv.addView(innerView, new ScrollView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
            innerView = sv;
        }
        frame.addView(innerView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
    }
    // Setup user listeners
    if (builder.showListener != null) {
        dialog.setOnShowListener(builder.showListener);
    }
    if (builder.cancelListener != null) {
        dialog.setOnCancelListener(builder.cancelListener);
    }
    if (builder.dismissListener != null) {
        dialog.setOnDismissListener(builder.dismissListener);
    }
    if (builder.keyListener != null) {
        dialog.setOnKeyListener(builder.keyListener);
    }
    // Setup internal show listener
    dialog.setOnShowListenerInternal();
    // Other internal initialization
    dialog.invalidateList();
    dialog.setViewInternal(dialog.view);
    dialog.checkIfListInitScroll();
    // Min height and max width calculations
    WindowManager wm = dialog.getWindow().getWindowManager();
    Display display = wm.getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    final int windowWidth = size.x;
    final int windowHeight = size.y;
    final int windowVerticalPadding = builder.context.getResources().getDimensionPixelSize(R.dimen.md_dialog_vertical_margin);
    final int windowHorizontalPadding = builder.context.getResources().getDimensionPixelSize(R.dimen.md_dialog_horizontal_margin);
    final int maxWidth = builder.context.getResources().getDimensionPixelSize(R.dimen.md_dialog_max_width);
    final int calculatedWidth = windowWidth - (windowHorizontalPadding * 2);
    dialog.view.setMaxHeight(windowHeight - windowVerticalPadding * 2);
    WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
    lp.copyFrom(dialog.getWindow().getAttributes());
    lp.width = Math.min(maxWidth, calculatedWidth);
    dialog.getWindow().setAttributes(lp);
}
Also used : MDButton(com.afollestad.materialdialogs.internal.MDButton) ArrayList(java.util.ArrayList) WindowManager(android.view.WindowManager) EditText(android.widget.EditText) ViewGroup(android.view.ViewGroup) Drawable(android.graphics.drawable.Drawable) GradientDrawable(android.graphics.drawable.GradientDrawable) IndeterminateHorizontalProgressDrawable(me.zhanghai.android.materialprogressbar.IndeterminateHorizontalProgressDrawable) HorizontalProgressDrawable(me.zhanghai.android.materialprogressbar.HorizontalProgressDrawable) IndeterminateProgressDrawable(me.zhanghai.android.materialprogressbar.IndeterminateProgressDrawable) LinkMovementMethod(android.text.method.LinkMovementMethod) Point(android.graphics.Point) ImageView(android.widget.ImageView) View(android.view.View) RecyclerView(android.support.v7.widget.RecyclerView) TextView(android.widget.TextView) ScrollView(android.widget.ScrollView) GradientDrawable(android.graphics.drawable.GradientDrawable) Point(android.graphics.Point) MDAdapter(com.afollestad.materialdialogs.internal.MDAdapter) ScrollView(android.widget.ScrollView) MDRootLayout(com.afollestad.materialdialogs.internal.MDRootLayout) FrameLayout(android.widget.FrameLayout) Resources(android.content.res.Resources) Display(android.view.Display) UiThread(android.support.annotation.UiThread)

Example 3 with ScrollView

use of android.widget.ScrollView in project material-dialogs by afollestad.

the class MDRootLayout method setUpDividersVisibility.

private void setUpDividersVisibility(final View view, final boolean setForTop, final boolean setForBottom) {
    if (view == null) {
        return;
    }
    if (view instanceof ScrollView) {
        final ScrollView sv = (ScrollView) view;
        if (canScrollViewScroll(sv)) {
            addScrollListener(sv, setForTop, setForBottom);
        } else {
            if (setForTop) {
                drawTopDivider = false;
            }
            if (setForBottom) {
                drawBottomDivider = false;
            }
        }
    } else if (view instanceof AdapterView) {
        final AdapterView sv = (AdapterView) view;
        if (canAdapterViewScroll(sv)) {
            addScrollListener(sv, setForTop, setForBottom);
        } else {
            if (setForTop) {
                drawTopDivider = false;
            }
            if (setForBottom) {
                drawBottomDivider = false;
            }
        }
    } else if (view instanceof WebView) {
        view.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {

            @Override
            public boolean onPreDraw() {
                if (view.getMeasuredHeight() != 0) {
                    if (!canWebViewScroll((WebView) view)) {
                        if (setForTop) {
                            drawTopDivider = false;
                        }
                        if (setForBottom) {
                            drawBottomDivider = false;
                        }
                    } else {
                        addScrollListener((ViewGroup) view, setForTop, setForBottom);
                    }
                    view.getViewTreeObserver().removeOnPreDrawListener(this);
                }
                return true;
            }
        });
    } else if (view instanceof RecyclerView) {
        boolean canScroll = canRecyclerViewScroll((RecyclerView) view);
        if (setForTop) {
            drawTopDivider = canScroll;
        }
        if (setForBottom) {
            drawBottomDivider = canScroll;
        }
        if (canScroll) {
            addScrollListener((ViewGroup) view, setForTop, setForBottom);
        }
    } else if (view instanceof ViewGroup) {
        View topView = getTopView((ViewGroup) view);
        setUpDividersVisibility(topView, setForTop, setForBottom);
        View bottomView = getBottomView((ViewGroup) view);
        if (bottomView != topView) {
            setUpDividersVisibility(bottomView, false, true);
        }
    }
}
Also used : ScrollView(android.widget.ScrollView) ViewGroup(android.view.ViewGroup) AdapterView(android.widget.AdapterView) RecyclerView(android.support.v7.widget.RecyclerView) WebView(android.webkit.WebView) ViewTreeObserver(android.view.ViewTreeObserver) RecyclerView(android.support.v7.widget.RecyclerView) ScrollView(android.widget.ScrollView) View(android.view.View) AdapterView(android.widget.AdapterView) WebView(android.webkit.WebView)

Example 4 with ScrollView

use of android.widget.ScrollView in project android_frameworks_base by ParanoidAndroid.

the class TabletStatusBar method addPanelWindows.

protected void addPanelWindows() {
    final Context context = mContext;
    final Resources res = mContext.getResources();
    // Notification Panel
    mNotificationPanel = (NotificationPanel) View.inflate(context, R.layout.system_bar_notification_panel, null);
    mNotificationPanel.setBar(this);
    mNotificationPanel.show(false, false);
    mNotificationPanel.setOnTouchListener(new TouchOutsideListener(MSG_CLOSE_NOTIFICATION_PANEL, mNotificationPanel));
    mHaloButton = (ImageView) mNotificationPanel.findViewById(R.id.halo_button);
    if (mHaloButton != null) {
        mHaloButton.setOnClickListener(mHaloButtonListener);
        mHaloButtonVisible = true;
        updateHaloButton();
    }
    // Add QuickSettings
    mNotificationPanel.setupQuickSettings(this, mNetworkController, mBluetoothController, mBatteryController, mLocationController);
    mStatusBarView.setIgnoreChildren(0, mNotificationTrigger, mNotificationPanel);
    WindowManager.LayoutParams lp = mNotificationPanelParams = new WindowManager.LayoutParams(res.getDimensionPixelSize(R.dimen.notification_panel_width), getNotificationPanelHeight(), WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL, WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH | WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, PixelFormat.TRANSLUCENT);
    lp.gravity = Gravity.BOTTOM | Gravity.END;
    lp.setTitle("NotificationPanel");
    lp.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_UNCHANGED | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING;
    // == no animation
    lp.windowAnimations = com.android.internal.R.style.Animation;
    //        lp.windowAnimations = com.android.internal.R.style.Animation_ZoomButtons; // simple fade
    mWindowManager.addView(mNotificationPanel, lp);
    // Search Panel
    mStatusBarView.setBar(this);
    mHomeButton.setOnTouchListener(mHomeSearchActionListener);
    updateSearchPanel();
    // Input methods Panel
    mInputMethodsPanel = (InputMethodsPanel) View.inflate(context, R.layout.system_bar_input_methods_panel, null);
    mInputMethodsPanel.setHardKeyboardEnabledChangeListener(this);
    mInputMethodsPanel.setOnTouchListener(new TouchOutsideListener(MSG_CLOSE_INPUT_METHODS_PANEL, mInputMethodsPanel));
    mInputMethodsPanel.setImeSwitchButton(mInputMethodSwitchButton);
    mStatusBarView.setIgnoreChildren(2, mInputMethodSwitchButton, mInputMethodsPanel);
    lp = new WindowManager.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL, WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH | WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, PixelFormat.TRANSLUCENT);
    lp.gravity = Gravity.BOTTOM | Gravity.END;
    lp.setTitle("InputMethodsPanel");
    lp.windowAnimations = R.style.Animation_RecentPanel;
    mWindowManager.addView(mInputMethodsPanel, lp);
    // Compatibility mode selector panel
    mCompatModePanel = (CompatModePanel) View.inflate(context, R.layout.system_bar_compat_mode_panel, null);
    mCompatModePanel.setOnTouchListener(new TouchOutsideListener(MSG_CLOSE_COMPAT_MODE_PANEL, mCompatModePanel));
    mCompatModePanel.setTrigger(mCompatModeButton);
    mCompatModePanel.setVisibility(View.GONE);
    mStatusBarView.setIgnoreChildren(3, mCompatModeButton, mCompatModePanel);
    lp = new WindowManager.LayoutParams(250, ViewGroup.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL, WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM | WindowManager.LayoutParams.FLAG_SPLIT_TOUCH | WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, PixelFormat.TRANSLUCENT);
    lp.gravity = Gravity.BOTTOM | Gravity.END;
    lp.setTitle("CompatModePanel");
    lp.windowAnimations = android.R.style.Animation_Dialog;
    mWindowManager.addView(mCompatModePanel, lp);
    mRecentButton.setOnTouchListener(mRecentsPreloadOnTouchListener);
    mPile = (NotificationRowLayout) mNotificationPanel.findViewById(R.id.content);
    mPile.removeAllViews();
    mPile.setLongPressListener(getNotificationLongClicker());
    ScrollView scroller = (ScrollView) mPile.getParent();
    scroller.setFillViewport(true);
    SettingsObserver settingsObserver = new SettingsObserver(new Handler());
    settingsObserver.observe();
}
Also used : Context(android.content.Context) ScrollView(android.widget.ScrollView) Handler(android.os.Handler) Resources(android.content.res.Resources) WindowManager(android.view.WindowManager)

Example 5 with ScrollView

use of android.widget.ScrollView in project android_frameworks_base by ParanoidAndroid.

the class DpiTestActivity method scrollWrap.

private View scrollWrap(View view) {
    ScrollView scroller = new ScrollView(this);
    scroller.addView(view, new ScrollView.LayoutParams(ScrollView.LayoutParams.MATCH_PARENT, ScrollView.LayoutParams.MATCH_PARENT));
    return scroller;
}
Also used : ScrollView(android.widget.ScrollView)

Aggregations

ScrollView (android.widget.ScrollView)366 View (android.view.View)173 TextView (android.widget.TextView)148 LinearLayout (android.widget.LinearLayout)93 ImageView (android.widget.ImageView)65 ViewGroup (android.view.ViewGroup)53 Button (android.widget.Button)36 EditText (android.widget.EditText)36 ListView (android.widget.ListView)29 AbsListView (android.widget.AbsListView)27 RecyclerView (android.support.v7.widget.RecyclerView)25 Intent (android.content.Intent)24 AdapterView (android.widget.AdapterView)24 GridLayout (android.widget.GridLayout)24 WebView (android.webkit.WebView)22 SuppressLint (android.annotation.SuppressLint)21 ArrayList (java.util.ArrayList)21 FrameLayout (android.widget.FrameLayout)19 Dialog (android.app.Dialog)16 DialogInterface (android.content.DialogInterface)16