Java Code Examples for android.widget.TextView#setClickable()

The following examples show how to use android.widget.TextView#setClickable() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: HyperlinkPreference.java    From 365browser with Apache License 2.0 6 votes vote down vote up
@Override
protected void onBindView(View view) {
    super.onBindView(view);
    TextView titleView = (TextView) view.findViewById(android.R.id.title);
    titleView.setSingleLine(false);

    if (mImitateWebLink) {
        setSelectable(false);

        titleView.setClickable(true);
        titleView.setTextColor(titleView.getPaint().linkColor);
        titleView.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                HyperlinkPreference.this.onClick();
            }
        });
    }
}
 
Example 2
Source File: UserGuideActivity.java    From prevent with Do What The F*ck You Want To Public License 6 votes vote down vote up
private boolean setView(int id, String packageName) {
    TextView donate = (TextView) findViewById(id);
    PackageManager pm = getPackageManager();
    try {
        ApplicationInfo info = pm.getApplicationInfo(packageName, 0);
        if (!info.enabled) {
            return false;
        }
        CharSequence label = getLabel(pm, info);
        donate.setContentDescription(label);
        donate.setCompoundDrawablesWithIntrinsicBounds(null, cropDrawable(pm.getApplicationIcon(info)), null, null);
        donate.setText(label);
        donate.setClickable(true);
        donate.setOnClickListener(this);
        donate.setVisibility(View.VISIBLE);
        return true;
    } catch (PackageManager.NameNotFoundException e) {
        UILog.d("cannot find package " + packageName, e);
        return false;
    }
}
 
Example 3
Source File: RxTextViewVertical.java    From AndroidAnimationExercise with Apache License 2.0 6 votes vote down vote up
@Override
public View makeView() {
    TextView t = new TextView(mContext);
    t.setGravity(Gravity.CENTER_VERTICAL | Gravity.LEFT);
    t.setMaxLines(1);
    t.setPadding(mPadding, mPadding, mPadding, mPadding);
    t.setTextColor(textColor);
    t.setTextSize(mTextSize);

    t.setClickable(true);
    t.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            if (itemClickListener != null && textList.size() > 0 && currentId != -1) {
                itemClickListener.onItemClick(currentId % textList.size());
            }
        }
    });
    return t;
}
 
Example 4
Source File: RobotItemAdapter.java    From imsdk-android with MIT License 6 votes vote down vote up
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    LinearLayout lin = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.atom_ui_item_robot_tab, parent, false);
    final TextView textView = (TextView) lin.findViewById(R.id.content);
    final View line = lin.findViewById(R.id.line);
    Action item = (Action) getItem(position);
    if (position == 0) {
        line.setVisibility(View.INVISIBLE);
    }
    textView.setText(item.mainaction);
    textView.setTextSize(16);
    textView.setWidth(parent.getWidth() / getCount());
    textView.setFocusable(true);
    textView.setClickable(true);
    if (item.subactions != null && item.subactions.size() > 0) {
        Drawable drawable = context.getResources().getDrawable(R.drawable.atom_ui_has_child_action);
        if (drawable != null) {
            drawable.setBounds(10, 0, 20, 20);
            textView.setCompoundDrawables(drawable, null, null, null);
        }
    }
    return lin;
}
 
Example 5
Source File: TextPopup.java    From mappwidget with Apache License 2.0 6 votes vote down vote up
public TextPopup(Context context, ViewGroup parentView) 
{
    super(context, parentView);
    
    text = new TextView(context);
    
    text.setPadding((int)(PADDING_LEFT * dipScaleFactor),
                    (int)(PADDING_TOP * dipScaleFactor),
                    (int)(PADDING_RIGHT  * dipScaleFactor), 
                    (int)(PADDING_BOTTOM * dipScaleFactor));
    
    text.setBackgroundResource(R.drawable.map_description_background);
    text.setTextSize(DEF_TEXT_SIZE);
    text.setGravity(Gravity.LEFT|Gravity.CENTER_VERTICAL);
    text.setMaxEms(MAX_EMS);
    text.setTextColor(Color.WHITE);
    
    container.addView(text);

    text.setFocusable(true);
    text.setClickable(true);
}
 
Example 6
Source File: UI.java    From Android-Commons with Apache License 2.0 5 votes vote down vote up
/**
 * Sets the given `TextView` to be read-only or read-and-write
 *
 * @param view a `TextView` or one of its subclasses
 * @param readOnly whether the view should be read-only or not
 */
public static void setReadOnly(final TextView view, final boolean readOnly) {
	view.setFocusable(!readOnly);
	view.setFocusableInTouchMode(!readOnly);
	view.setClickable(!readOnly);
	view.setLongClickable(!readOnly);
	view.setCursorVisible(!readOnly);
}
 
Example 7
Source File: RunStopIndicatorPopupWindow.java    From PhoneProfilesPlus with Apache License 2.0 5 votes vote down vote up
RunStopIndicatorPopupWindow(final DataWrapper dataWrapper, final Activity activity) {
    super(R.layout.popup_window_run_stop_indicator, R.string.editor_activity_targetHelps_trafficLightIcon_title, activity);

    // Disable default animation
    //setAnimationStyle(0);

    final TextView textView = popupView.findViewById(R.id.run_stop_indicator_popup_window_important_info);
    textView.setClickable(true);
    textView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intentLaunch = new Intent(activity, ImportantInfoActivity.class);
            intentLaunch.putExtra(ImportantInfoActivity.EXTRA_SHOW_QUICK_GUIDE, false);
            intentLaunch.putExtra(ImportantInfoActivity.EXTRA_SCROLL_TO, R.id.activity_info_notification_event_not_started);
            activity.startActivity(intentLaunch);

            dismiss();
        }
    });

    final SwitchCompat checkBox = popupView.findViewById(R.id.run_stop_indicator_popup_window_checkbox);
    checkBox.setChecked(Event.getGlobalEventsRunning());
    checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
            if (dataWrapper != null)
                dataWrapper.runStopEventsWithAlert(activity, checkBox, isChecked);
        }
    });
}
 
Example 8
Source File: DepositRefundIssueActivity.java    From Mobike with Apache License 2.0 5 votes vote down vote up
private void selectPayType(View view) {
    mTvWeixin.setBackgroundResource(R.color.bg_color);
    mTvAlipay.setBackgroundResource(R.color.bg_color);
    mTvWeixin.setTextColor(getResources().getColor(R.color.black));
    mTvAlipay.setTextColor(getResources().getColor(R.color.black));
    mTvWeixin.setClickable(true);
    mTvAlipay.setClickable(true);
    TextView tv = (TextView) view;
    tv.setBackgroundResource(R.color.red);
    tv.setClickable(false);
    tv.setTextColor(getResources().getColor(R.color.white));
    currentpaytype = Integer.valueOf((String) tv.getTag());
}
 
Example 9
Source File: ViewCore.java    From TitleBar with Apache License 2.0 5 votes vote down vote up
static TextView newRightView(Context context) {
    TextView rightView = new TextView(context);
    rightView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT));
    rightView.setGravity(Gravity.CENTER_VERTICAL);
    rightView.setFocusable(true);
    rightView.setClickable(true);
    rightView.setSingleLine();
    rightView.setEllipsize(TextUtils.TruncateAt.END);
    return rightView;
}
 
Example 10
Source File: ColorChooser.java    From LaunchTime with GNU General Public License v3.0 5 votes vote down vote up
private void makeColorPresetButton(int color) {
        FrameLayout outframe = new FrameLayout(getContext());
        outframe.setBackgroundColor(Color.BLACK);
        outframe.setPadding(6,6,6,6);

        FrameLayout frame = new FrameLayout(getContext());
        //frame.setPadding(6,6,6,6);
        //frame.setBackgroundColor(Color.BLACK);
        frame.setBackgroundResource(R.drawable.bwg);

        TextView c = new TextView(getContext());
        c.setText("   ");
        c.setTextSize(22);
        c.setBackgroundColor(color);
//        if (color==Color.TRANSPARENT) {
//            c.setBackgroundResource(R.drawable.transparentgrid);
//        }
        c.setTag(color);
        c.setClickable(true);
        c.setOnClickListener(setColorListener);
        frame.addView(c);
        GridLayout.LayoutParams lp = new GridLayout.LayoutParams();
        lp.setMargins(24, 16, 24, 16);
        outframe.setPadding(6,6,6,6);
        outframe.addView(frame);
        colorPresets.addView(outframe, lp);
    }
 
Example 11
Source File: GuardaInputLayout.java    From guarda-android-wallets with GNU General Public License v3.0 5 votes vote down vote up
private TextView getEmptyTextView(Context context) {
    TextView textView = new TextView(context);
    textView.setClickable(false);
    textView.setGravity(Gravity.CENTER);
    GridLayout.LayoutParams params = new GridLayout.LayoutParams();
    params.setGravity(Gravity.FILL);
    params.rowSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f);
    params.columnSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f);

    textView.setLayoutParams(params);

    return textView;
}
 
Example 12
Source File: LearnMoreFragment.java    From SEAL-Demo with MIT License 5 votes vote down vote up
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View v = inflater.inflate(R.layout.learn_more_fragment, container, false);
    ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle(R.string.title_fragment_learn_more_page);
    mLeanMoreLink = (TextView) v.findViewById(R.id.learnMoreQuestion);
    mLeanMoreLink.setClickable(true);
    mLeanMoreLink.setMovementMethod(LinkMovementMethod.getInstance());
    String linkText = getString(R.string.learn_more_fragment_header_question)+" "
            + getString(R.string.learn_more_fragment_link_left) + URL + getString(R.string.learn_more_fragment_link_right);
    mLeanMoreLink.setText(Html.fromHtml(linkText));
    return v;
}
 
Example 13
Source File: MainActivity.java    From douyin with Apache License 2.0 4 votes vote down vote up
public void init(LinearLayout linearLayout1, CustomLinearLayout layout){

        ListView listView = new ListView(this);
        listView.setLayoutParams(new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.MATCH_PARENT,
                LinearLayout.LayoutParams.WRAP_CONTENT
        ));
        listView.setOnItemClickListener(this);
        InfoAdapter adapter = new InfoAdapter(this);
        adapter.setItems(getList());
        listView.setAdapter(adapter);

        linearLayout1.addView(listView);

        String[] colors = new String[]{"#417BC7", "#6FA13E", "#DB9548", "#C8382E", "#753B94"};
//        for (int i = 0; i < 10; i++){
//            CustomLabelTextView customLabelTextView = new CustomLabelTextView(
//                    this,
//                    "测试文字",
//                    "test"+i,
//                    "#58575c",
//                    CustomLabelTextView.randomColorString(colors));
//            layout.addView(customLabelTextView);
//        }
        initModel(layout);
        for (VersionEnum versionEnum : VersionEnum.values()){
            CustomLabelTextView customLabelTextView = new CustomLabelTextView(
                    this,
                    versionEnum.isSupported() ? "已支持版本" : "不支持版本",
                    versionEnum.getVersion(),
                    "#58575c",
                    CustomLabelTextView.randomColorString(colors));
            layout.addView(customLabelTextView);
        }

        TextView tv_left = new TextView(this);
        tv_left.setText("测试");
        tv_left.setTextColor(Color.WHITE);
        tv_left.setClickable(true);
        tv_left.setPadding(dp2px(10), dp2px(2), dp2px(10), dp2px(2));
        GradientDrawable drawable1 = ViewUtil.createGradientDrawableRadius(2, new float[]{14, 14, 0, 0, 0, 0, 14, 14}, Color.MAGENTA);
        drawable1.setColor(ViewUtil.createColorStateList(
                Color.parseColor("#58575c"),
                Color.parseColor("#ae58575c"),
                Color.parseColor("#58575c"),
                Color.parseColor("#a158575c")));
        tv_left.setBackground(drawable1);

        LinearLayout.LayoutParams tv_params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, dp2px(24));

        tv_left.setLayoutParams(tv_params);

        layout.addView(tv_left);


        PlusButton plusButton = new PlusButton(this);
        plusButton.setText("测试按钮");
        plusButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(MainActivity.this, "点击事件", Toast.LENGTH_SHORT).show();

                Intent intent = new Intent(MainActivity.this, TestActivity.class);
                MainActivity.this.startActivity(intent);
            }
        });
        layout.addView(plusButton);
    }
 
Example 14
Source File: PtrFrameLayout.java    From android-Ultra-Pull-To-Refresh with MIT License 4 votes vote down vote up
@Override
protected void onFinishInflate() {
    final int childCount = getChildCount();
    if (childCount > 2) {
        throw new IllegalStateException("PtrFrameLayout can only contains 2 children");
    } else if (childCount == 2) {
        if (mHeaderId != 0 && mHeaderView == null) {
            mHeaderView = findViewById(mHeaderId);
        }
        if (mContainerId != 0 && mContent == null) {
            mContent = findViewById(mContainerId);
        }

        // not specify header or content
        if (mContent == null || mHeaderView == null) {

            View child1 = getChildAt(0);
            View child2 = getChildAt(1);
            if (child1 instanceof PtrUIHandler) {
                mHeaderView = child1;
                mContent = child2;
            } else if (child2 instanceof PtrUIHandler) {
                mHeaderView = child2;
                mContent = child1;
            } else {
                // both are not specified
                if (mContent == null && mHeaderView == null) {
                    mHeaderView = child1;
                    mContent = child2;
                }
                // only one is specified
                else {
                    if (mHeaderView == null) {
                        mHeaderView = mContent == child1 ? child2 : child1;
                    } else {
                        mContent = mHeaderView == child1 ? child2 : child1;
                    }
                }
            }
        }
    } else if (childCount == 1) {
        mContent = getChildAt(0);
    } else {
        TextView errorView = new TextView(getContext());
        errorView.setClickable(true);
        errorView.setTextColor(0xffff6600);
        errorView.setGravity(Gravity.CENTER);
        errorView.setTextSize(20);
        errorView.setText("The content view in PtrFrameLayout is empty. Do you forget to specify its id in xml layout file?");
        mContent = errorView;
        addView(mContent);
    }
    if (mHeaderView != null) {
        mHeaderView.bringToFront();
    }
    super.onFinishInflate();
}
 
Example 15
Source File: WheelViewDialog.java    From WheelView with Apache License 2.0 4 votes vote down vote up
private void init() {
    LinearLayout layout = new LinearLayout(mContext);
    layout.setOrientation(LinearLayout.VERTICAL);
    layout.setPadding(WheelUtils.dip2px(mContext, 20), 0, WheelUtils.dip2px(mContext, 20), 0);

    mTitle = new TextView(mContext);
    mTitle.setTextColor(WheelConstants.DIALOG_WHEEL_COLOR);
    mTitle.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16);
    mTitle.setGravity(Gravity.CENTER);
    LinearLayout.LayoutParams titleParams =
            new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
            WheelUtils.dip2px(mContext, 50));
    layout.addView(mTitle, titleParams);

    mLine1 = new View(mContext);
    mLine1.setBackgroundColor(WheelConstants.DIALOG_WHEEL_COLOR);
    LinearLayout.LayoutParams lineParams =
            new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
            WheelUtils.dip2px(mContext, 2));
    layout.addView(mLine1, lineParams);

    mWheelView = new WheelView(mContext);
    mWheelView.setSkin(WheelView.Skin.Holo);
    mWheelView.setWheelAdapter(new ArrayWheelAdapter(mContext));
    mStyle = new WheelView.WheelViewStyle();
    mStyle.textColor = Color.GRAY;
    mStyle.selectedTextZoom = 1.2f;
    mWheelView.setStyle(mStyle);

    mWheelView.setOnWheelItemSelectedListener((position, text) -> {
        mSelectedPos = position;
        mSelectedText = text;
    });
    ViewGroup.MarginLayoutParams wheelParams =
            new ViewGroup.MarginLayoutParams(LinearLayout.LayoutParams
            .MATCH_PARENT,
            LinearLayout.LayoutParams.WRAP_CONTENT);
    layout.addView(mWheelView, wheelParams);

    mLine2 = new View(mContext);
    mLine2.setBackgroundColor(WheelConstants.DIALOG_WHEEL_COLOR);
    LinearLayout.LayoutParams line2Params =
            new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
            WheelUtils.dip2px(mContext, 1f));
    layout.addView(mLine2, line2Params);

    mButton = new TextView(mContext);
    mButton.setTextColor(WheelConstants.DIALOG_WHEEL_COLOR);
    mButton.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);
    mButton.setGravity(Gravity.CENTER);
    mButton.setClickable(true);
    mButton.setOnClickListener(this);
    mButton.setText("OK");
    LinearLayout.LayoutParams buttonParams =
            new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
            WheelUtils.dip2px(mContext, 45));
    layout.addView(mButton, buttonParams);

    mDialog = new AlertDialog.Builder(mContext).create();
    mDialog.setView(layout);
    mDialog.setCanceledOnTouchOutside(false);
}
 
Example 16
Source File: CenteredDrawableButton.java    From CenteredDrawableButton with Apache License 2.0 4 votes vote down vote up
private void initializeView(Context context, AttributeSet attrs, int defStyleAttr) {
    TypedArray a = context.obtainStyledAttributes(attrs,
            R.styleable.CenteredDrawableButton,
            defStyleAttr,
            0);

    Drawable drawableLeft = a.getDrawable(R.styleable.CenteredDrawableButton_drawableLeft);
    Drawable drawableRight = a.getDrawable(R.styleable.CenteredDrawableButton_drawableRight);
    Drawable drawableTop = a.getDrawable(R.styleable.CenteredDrawableButton_drawableTop);
    Drawable drawableBottom = a.getDrawable(R.styleable.CenteredDrawableButton_drawableBottom);
    int drawablePadding =
            a.getDimensionPixelSize(R.styleable.CenteredDrawableButton_drawablePadding, 0);

    CharSequence text = a.getText(R.styleable.CenteredDrawableButton_text);
    int textColor = a.getColor(R.styleable.CenteredDrawableButton_textColor, -1);
    ColorStateList textColorStateList =
            a.getColorStateList(R.styleable.CenteredDrawableButton_textColor);
    int textSize = a.getDimensionPixelSize(R.styleable.CenteredDrawableButton_textSize, 0);
    int textStyle = a.getInt(R.styleable.CenteredDrawableButton_textStyle, 0);

    textView = new TextView(context, attrs);
    textView.setDuplicateParentStateEnabled(true);
    textView.setClickable(false);
    textView.setText(text);
    textView.setBackgroundColor(getResources().getColor(android.R.color.transparent));
    if (textColor >= 0) {
        textView.setTextColor(textColor);
    }
    if (textColorStateList != null) {
        textView.setTextColor(textColorStateList);
    }
    if (textSize > 0) {
        textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);
    }
    textView.setCompoundDrawablesWithIntrinsicBounds(drawableLeft, drawableTop, drawableRight, drawableBottom);
    textView.setCompoundDrawablePadding(drawablePadding);
    Typeface tf = Typeface.defaultFromStyle(textStyle);
    textView.setTypeface(tf);
    RelativeLayout.LayoutParams params
            = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.CENTER_IN_PARENT);
    textView.setLayoutParams(params);
    textView.setGravity(Gravity.CENTER_VERTICAL);
    addView(textView);

    a.recycle();
}
 
Example 17
Source File: TicTacToeView.java    From RIBs with Apache License 2.0 4 votes vote down vote up
@Override
public void addCross(BoardCoordinate xy) {
  TextView textView = imageButtons[xy.getX()][xy.getY()];
  textView.setText("x");
  textView.setClickable(false);
}
 
Example 18
Source File: PtrFrameLayout.java    From LiveSourceCode with Apache License 2.0 4 votes vote down vote up
@Override
protected void onFinishInflate() {
    final int childCount = getChildCount();
    if (childCount > 2) {
        throw new IllegalStateException("PtrFrameLayout can only contains 2 children");
    } else if (childCount == 2) {
        if (mHeaderId != 0 && mHeaderView == null) {
            mHeaderView = findViewById(mHeaderId);
        }
        if (mContainerId != 0 && mContent == null) {
            mContent = findViewById(mContainerId);
        }

        // not specify header or content
        if (mContent == null || mHeaderView == null) {

            View child1 = getChildAt(0);
            View child2 = getChildAt(1);
            if (child1 instanceof PtrUIHandler) {
                mHeaderView = child1;
                mContent = child2;
            } else if (child2 instanceof PtrUIHandler) {
                mHeaderView = child2;
                mContent = child1;
            } else {
                // both are not specified
                if (mContent == null && mHeaderView == null) {
                    mHeaderView = child1;
                    mContent = child2;
                }
                // only one is specified
                else {
                    if (mHeaderView == null) {
                        mHeaderView = mContent == child1 ? child2 : child1;
                    } else {
                        mContent = mHeaderView == child1 ? child2 : child1;
                    }
                }
            }
        }
    } else if (childCount == 1) {
        mContent = getChildAt(0);
    } else {
        TextView errorView = new TextView(getContext());
        errorView.setClickable(true);
        errorView.setTextColor(0xffff6600);
        errorView.setGravity(Gravity.CENTER);
        errorView.setTextSize(20);
        errorView.setText("The content view in PtrFrameLayout is empty. Do you forget to specify its id in xml layout file?");
        mContent = errorView;
        addView(mContent);
    }
    if (mHeaderView != null) {
        mHeaderView.bringToFront();
    }
    super.onFinishInflate();
}
 
Example 19
Source File: SnackbarManager.java    From pandroid with Apache License 2.0 4 votes vote down vote up
private ToastNotifier makeCustomNotification(Activity activity, ToastType toastType, String label, String btnLabel, int drawableRes, int style, int duration, boolean undefinedLoad, final ToastListener listener) {
    if (duration < 0)
        duration = Snackbar.LENGTH_INDEFINITE;
    final Snackbar notif = Snackbar.make(activity.findViewById(android.R.id.content), label, duration);
    if (style == 0) {
        style = R.style.Toast;
    }
    TypedArray attributes = activity.obtainStyledAttributes(style, R.styleable.ToastAppearance);
    int textColor = attributes.getColor(R.styleable.ToastAppearance_toastTextColor, ContextCompat.getColor(activity, R.color.white));
    int buttonTextColor = attributes.getColor(R.styleable.ToastAppearance_toastButtonTextColor, ContextCompat.getColor(activity, R.color.pandroid_green_dark));
    int backgroundColor = attributes.getColor(R.styleable.ToastAppearance_toastBackground, ContextCompat.getColor(activity, R.color.pandroid_green));
    notif.getView().setBackgroundColor(backgroundColor);
    ((TextView) notif.getView().findViewById(android.support.design.R.id.snackbar_text)).setTextColor(textColor);
    TextView actionView = ((TextView) notif.getView().findViewById(android.support.design.R.id.snackbar_action));
    actionView.setTextColor(buttonTextColor);
    attributes.recycle();

    notif.setCallback(new Snackbar.Callback() {
        @Override
        public void onDismissed(Snackbar snackbar, int event) {
            super.onDismissed(snackbar, event);
            if (listener != null)
                listener.onDismiss();
        }
    });

    Drawable drawable = null;
    if (drawableRes > 0) {
        drawable = ContextCompat.getDrawable(activity, drawableRes);
    }
    actionView.setCompoundDrawablesRelativeWithIntrinsicBounds(null, null, drawable, null);
    if (toastType == ToastType.ACTION && btnLabel != null) {
        notif.setAction(btnLabel, new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (listener != null)
                    listener.onActionClicked();
            }
        });
    } else if (drawableRes > 0) {
        actionView.setVisibility(View.VISIBLE);
        actionView.setClickable(false);
        actionView.setFocusableInTouchMode(false);
        actionView.setFocusable(false);
        actionView.setEnabled(false);
    }

    if (toastType == ToastType.LOADER) {
        ProgressWheel progressWheel = new ProgressWheel(activity);
        progressWheel.setId(R.id.snakebar_loader);
        if (undefinedLoad)
            progressWheel.spin();

        progressWheel.setBarWidth((int) DeviceUtils.dpToPx(activity, 4));
        progressWheel.setCircleRadius((int) DeviceUtils.dpToPx(activity, 30));
        progressWheel.setBarColor(buttonTextColor);
        progressWheel.setLinearProgress(true);
        ((Snackbar.SnackbarLayout) notif.getView()).addView(progressWheel, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT));
    }
    notif.show();
    lastShowNotif = notif;
    return new ToastNotifier() {
        @Override
        public void setProgress(int progress) {
            ProgressWheel loader = (ProgressWheel) notif.getView().findViewById(R.id.snakebar_loader);
            if (loader != null) {
                loader.setProgress(progress / 100f);
            }
        }

        @Override
        public void dismiss() {
            notif.dismiss();
        }

    };
}
 
Example 20
Source File: HtmlUtils.java    From materialup with Apache License 2.0 3 votes vote down vote up
/**
 * Work around some 'features' of TextView and URLSpans. i.e. vanilla URLSpans do not react to
 * touch so we replace them with our own {@link io.plaidapp.ui.span
 * .TouchableUrlSpan}
 * & {@link io.plaidapp.util.LinkTouchMovementMethod} to fix this.
 * <p>
 * Setting a custom MovementMethod on a TextView also alters touch handling (see
 * TextView#fixFocusableAndClickableSettings) so we need to correct this.
 *
 * @param textView
 * @param input
 */
public static void setTextWithNiceLinks(TextView textView, CharSequence input) {
    textView.setText(input);
    textView.setMovementMethod(LinkTouchMovementMethod.getInstance());
    textView.setFocusable(false);
    textView.setClickable(false);
    textView.setLongClickable(false);
}