美文网首页
常见的控件设置代码

常见的控件设置代码

作者: Batashi | 来源:发表于2018-07-03 16:15 被阅读0次

一、用代码设置输入框最大输入长度:

// 设置最大长度为8
phoneEdtTxt.setFilters(new InputFilter[]{new InputFilter.LengthFilter(8)});

二、一段字符多种颜色设置:

SpannableString spannableString = new SpannableString(content);
ForegroundColorSpan colorSpan = new ForegroundColorSpan(mContext.getResources()
          .getColor(R.color.textColor_A2));
spannableString.setSpan(colorSpan, 0, startTxt.length(), 
                                      Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
mTextView.setText(spannableString);

三、指定位置设置图片:

Drawable right = mContext.getResources().getDrawable(R.drawable.ic_tick);
right.setBounds(0, 0, right.getMinimumWidth(), right.getMinimumHeight());
mTextView.setCompoundDrawables(null, null, right, null);

四、指定位置弹出PopupWindow(注:在Android 7.0 + 上PopupWindow的高度一定要设置为 WRAP_CONTENT,否则无法在指定位置显示):

if (Build.VERSION.SDK_INT < 24)
        {
            dropListPopupWindow.showAsDropDown(this, 0, 5);
        }
        else
        {
            // 适配 android 7.0 +
            int[] location = new int[2];
            getLocationOnScreen(location);
            int x = location[0];
            int y = location[1];
            Log.e(getClass().getSimpleName(), "x : " + x + ", y : " + y);
            dropListPopupWindow.showAtLocation(this, Gravity.NO_GRAVITY, 0,
                y + getHeight() + 5);
        }

五、设置window:

WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth(); // 获取屏幕宽、高用
Window dialogWindow = dialog.getWindow();
WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 获取对话框当前的参数值
p.width = (int) (width * 0.8); // 宽度设置为屏幕的0.8
dialogWindow.setAttributes(p);

六、获取控件在屏幕的位置(x,y坐标):

int[] location = new int[2];
getLocationOnScreen(location);
int x = location[0];
int y = location[1];
Log.e(getClass().getSimpleName(), "x : " + x + ", y : " + y);

七、获取屏幕宽、高:

// 方法一
View decorView = getWindow().getDecorView();
        decorView.post(() -> {
            // 1
            // width : 1080, height : 1920
           Log.e(TAG, "width : " + decorView.getWidth() + ", height : " + decorView.getHeight());
           // measuredwidth : 1080, measuredheight : 1920
           Log.e(TAG, "measuredwidth : " + decorView.getMeasuredWidth() + ", measuredheight : " + decorView.getMeasuredHeight());
            // 2
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
            {
                DisplayMetrics displayMetrics = new DisplayMetrics();
                decorView.getDisplay().getMetrics(displayMetrics);
                // DisplayMetrics{density=3.0, width=1080, height=1920, scaledDensity=3.0, xdpi=428.625, ydpi=427.789}
                Log.e(TAG, displayMetrics.toString());
            }
        });

        // 方法二
        WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
        Display display = windowManager.getDefaultDisplay();
        // WindowManager, width : 1080, height : 1920
        Log.e(TAG, "WindowManager, width : " + display.getWidth() + ", height : " + display.getHeight());

        // 方法三
        WindowManager wm = getWindowManager();
        DisplayMetrics displayMetrics = new DisplayMetrics();
        wm.getDefaultDisplay().getMetrics(displayMetrics);
        // WindowManager : DisplayMetrics{density=3.0, width=1080, height=1920, scaledDensity=3.0, xdpi=428.625, ydpi=427.789}
        Log.e(TAG, "WindowManager : " + displayMetrics.toString());
        
        // 方法四
        Resources resources = getResources();
        DisplayMetrics metrics = resources.getDisplayMetrics();
//        Resources : DisplayMetrics{density=3.0, width=1080, height=1920, scaledDensity=3.0, xdpi=428.625, ydpi=427.789}
        Log.e(TAG, "Resources : " + metrics.toString());

相关文章

  • 常见的控件设置代码

    一、用代码设置输入框最大输入长度: 二、一段字符多种颜色设置: 三、指定位置设置图片: 四、指定位置弹出Popup...

  • Masonry两个控件横向布局

    控件添加代码: 控件显示效果: 设置拉伸优先级代码: 设置后显示效果: 设置压缩优先级的代码如下: 显示效果可以自...

  • ViewPager的画廊效果间距问题

    控件的布局 view的父控件一定要设置属性: 然后viewpager布局如下: 代码设置 间距是通过xml中的控件...

  • SAP ABAP ALV报表(四)

    设置控件同行 ALV排序 1.设置控件同行 “screen”文件中添加代码 text文本信息 结果展示 2.ALV...

  • 零基础学鸿蒙编程-UI控件_Slider

    什么是Slider Slider是让用户调节进度的UI控件.常见效果如下: 1.基本用法 效果图 代码 2.设置进...

  • 2018-11-29

    步骤:完成界面程序,设置子窗体,修改控件属性,修改代码。主要控件:Toolstrip:主要属性:Backgroud...

  • iOS设置颜色渐变

    pickerView是要设置渐变的控件 添加如下代码 CAGradientLayer *_gradLayer = ...

  • Xib中设置控件的圆角、边框效果

    xib中为各种控件设置圆角 通过代码的方式设置 通过xib快速设置圆角利用User Defined Runtime...

  • flutter MaterialButton设置圆角

    直接上代码: 主要代码: shape的定义: 猜测有shape属性的控件都可以设置圆角。

  • iOS 自定义控件

    一、代码 1、initWithFrame 初始化(懒加载),添加控件2、layoutSubViews 设置...

网友评论

      本文标题:常见的控件设置代码

      本文链接:https://www.haomeiwen.com/subject/zpcjuftx.html