美文网首页
细节罗列(字体加下滑线,加粗,删除线)

细节罗列(字体加下滑线,加粗,删除线)

作者: Ayres | 来源:发表于2017-08-16 18:13 被阅读0次

    一、字体操作

    1.加下滑线
     tvPhoneKefu.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
    
    2.加粗
      TextView tv = (TextView)findViewById(R.id.tv); 
      TextPaint tp = tv.getPaint(); 
      tp.setFakeBoldText(true); 
    

    方式二

        android:textStyle="bold"
    
    3.删除线
      textview.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG ); //中间横线(删除线)
    

    二、ScrollView问题

    1.和RecyclerView嵌套卡顿

    设置RecyclerView属性:

      setNestedScrollingEnabled(false);
    
    2.ScrollView滑动时头部隐藏显示

    自定义MyScrollView 继承 ScrollView 暴露一个方法

    public class MyScrollView extends ScrollView {
    
    private ScrollViewListener scrollViewListener = null;
    
    public MyScrollView(Context context) {
        super(context);
    }
    
    public MyScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    
    @Override
    protected void onScrollChanged(int x, int y, int oldx, int oldy) {
        //x为当前滑动条的横坐标,y表示当前滑动条的纵坐标,oldx为前一次滑动的横坐标,oldy表示前一次滑动的纵坐标
        super.onScrollChanged(x, y, oldx, oldy);
        if (scrollViewListener != null) {
            //在这里将方法暴露出去
            scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);
        }
    }
    //是否要其弹性滑动
    @Override
    protected boolean overScrollBy(int deltaX, int deltaY, int scrollX,
                                   int scrollY, int scrollRangeX, int scrollRangeY,
                                   int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) {
    
        // 弹性滑动关键则是maxOverScrollX, 以及maxOverScrollY,
        // 一般默认值都是0,需要弹性时,更改其值即可
        // 即就是,为零则不会发生弹性,不为零(>0,负数未测试)则会滑动到其值的位置
        return super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX,
                scrollRangeY, 0, 0, isTouchEvent);
    }
    //接口
    public interface ScrollViewListener {
    
        void onScrollChanged(View scrollView, int x, int y, int oldx, int oldy);
    
    }
    public void setScrollViewListener(ScrollViewListener listener)
    {
        scrollViewListener=listener;
       }
        }
    

    使用时:

       svHome.setScrollViewListener(new MyScrollView.ScrollViewListener() {
            @Override
            public void onScrollChanged(View scrollView, int x, int y, int oldx, int oldy) {
    
    
                if (y < 600) {
    
       //                    float alpha = 1 - ((float) y) / 800;
                    float alpha =  ((float) y) / 600;
    
                    rlSearch.setAlpha(alpha);
    
                    if (alpha == 0) {
                        rlSearch.setClickable(false);
                    } else {
                        rlSearch.setClickable(true);
                    }
                } else {
                    if (oldy > y) {
                        //下滑显示标题栏
                        rlSearch.setAlpha(0);
                        rlSearch.setClickable(false);
    
                    } else {
    
                        rlSearch.setAlpha(1);
                        rlSearch.setClickable(true);
                    }
    
                }
    
            }
        });
        return view;
    }
    

    三、调起打电话

       Intent intent1 = new Intent(Intent.ACTION_CALL, Uri.parse("tel:110"));
                intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) !=                       PackageManager.PERMISSION_GRANTED) {
                    // TODO: Consider calling
                    //    ActivityCompat#requestPermissions
                    // here to request the missing permissions, and then overriding
                    //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
                    //                                          int[] grantResults)
                    // to handle the case where the user grants the permission. See the documentation
                    // for ActivityCompat#requestPermissions for more details.
                    return;
                }
    
                startActivity(intent1);
    

    四、Activity半透明和去除标题栏

    第一步:color文件中
    <colorname="transparent">#99000000</color>//前两位为透明度数值越小透明度越好
    第二步: style文件中
    <style name="Transparent">
    <item name="android:windowBackground">@color/transparent</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowAnimationStyle">@android:style/Animation</item>
    <item name="android:windowNoTitle">true</item>//设置是否要去掉标题
    </style>
    第三步:清单文件中
    <activity theme="...."></activity>引用

    五、富文本或TextView内容实现复制和识别手机号

    富文本RichTextView其实也是继承自TextView实现,刚开始一直寻找复制富文本内容和富文本识别手机号,各种百度最终还是无果,最终只能搜TextView,谁知真的是TextView两个属性就能搞定的事。

    复制内容的属性
         android:textIsSelectable="true"
    

    长按就会提示框

    识别手机号的属性
     android:autoLink="phone"
    

    手机号就会突出显示,并且点击时就会打开拨号界面

    没想到会那么轻松搞定,哈哈哈

    相关文章

      网友评论

          本文标题:细节罗列(字体加下滑线,加粗,删除线)

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