編輯:關於Android編程
我們知道,在布局文件中設置textview的autolink及其類型,這時textivew上會顯示link的顏色,並且文字下面會有一條下劃線,表示可以點擊。而在我們在點擊textview時,應用將根據我們所設置的類型跳轉到對應的界面。但是有時,我們因界面需求,需要去掉界面上顯示的下劃線,並保持功能不變。
如果已經設置了autolink,那麼在textview當中再去設置TextPaint為無下劃線是無效的,我們可以看URLSpan所繼承的類ClickableSpan類的源碼,如下:
public abstract class ClickableSpan extends CharacterStyle implements UpdateAppearance {
/**
* Performs the click action associated with this span.
*/
public abstract void onClick(View widget);
/**
* Makes the text underlined and in the link color.
*/
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(ds.linkColor);
ds.setUnderlineText(true);
}
}所以要解決這個問題,就只有再設置一個沒有下劃線的Spannable對象。
首先,繼承一個CharacterStyle或其已實現的子類,重寫updateDrawState方法,代碼如下:
/*
* Date: 14-9-4
* Project: Access-Control-V2
*/
package cn.irains.access.v2.common;
import android.text.TextPaint;
import android.text.style.UnderlineSpan;
/**
* 無下劃線的Span
* Author: msdx (645079761@qq.com)
* Time: 14-9-4 上午10:43
*/
public class NoUnderlineSpan extends UnderlineSpan {
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(ds.linkColor);
ds.setUnderlineText(false);
}
}
NoUnderlineSpan mNoUnderlineSpan = new NoUnderlineSpan();
if (textview.getText() instanceof Spannable) {
Spannable s = (Spannable) textview.getText();
s.setSpan(mNoUnderlineSpan, 0, s.length(), Spanned.SPAN_MARK_MARK);
}
Activity的聲明周期和啟動模式
正常情況下Activity的聲明周期先來看看官方給出的聲明周期圖:這裡需要說明如下幾點:針對特定Activity,第一次啟動,回調如下:onCreate->onSt
Android 中的小細節
1.EditView的自定義樣式其實這部分大家一定不陌生,通常默認的樣式都與我們的設計樣式有出入,那麼就需要我們自定義,通常我們使用Android:background=
Android自定義View——仿vivo i管家病毒掃描動畫效果
技術是永無止境的,如果真的愛技術,那就勇敢的堅持下去。我很喜歡這句話,當我在遇到問題的時候、當我覺得代碼枯燥的時候,我就會問自己,到底是不是真的熱愛技術,這個時候,我心裡
自定義卡尺選擇器
前言由於某個項目需要,就寫了這個東西。大家看看有需求的直接拿走。效果1.支持拖動,支持點擊2.可定制的屬性還是比較全面的包裹差值器都可以設置,下面這個使用的是oversh