細節羅列(字體加下滑線,加粗,刪除線)

一、字體操作

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"

手機號就會突出顯示,并且點擊時就會打開撥號界面

沒想到會那么輕松搞定,哈哈哈

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容