當前位置:首頁 » 安卓系統 » android絕對值

android絕對值

發布時間: 2022-10-23 06:52:28

Ⅰ android studio 中規定了108dp為什麼那個id下面一層超過了108dp

  1. dp是一個相對值,px才是絕對值,所以它在不同解析度的手機上的尺寸是不一樣的

  2. 具體代碼具體分析,其實你這樣描述也不是很清晰

Ⅱ android 創建一個XML文件,如何在讀這個XML文件時,得到讀取的時間

在讀取xml文件前,用一個變數保存當前系統的時間。
讀取xml文件後,獲取當前系統的時間。這兩個時間的差值的絕對值,就是讀取文件說花的時間。

Ⅲ 在Android開發中,在Layout里。怎麼能讓一個控制項不跟據其它控制項而改變在模擬器中的位置。

使用其他的布局方式,如FrameLayout AbsoluteLayout等

Ⅳ android裡面怎麼給Textview設置超鏈接,還有字體顏色這些屬性啊

要給 TextView 加上效果,方式主要有幾種:
第一種,自動應用效果,使用 android:autolink 屬性,如:
java代碼
android:id="@+id/text1"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:autoLink="all"

android:text="@string/link_text_auto"

/>
第二種,在文本中使用 標簽,如:
Java代碼


text2: This is some other

text, with a link specified

via an tag. Use a \"tel:\" URL

to dial a phone number
第三種,和第二種其實是一樣的,只不過將文本改在 JAVA 代碼中,如:
Java代碼

TextView t3 = (TextView) findViewById(R.id.text3);

t3.setText(

Html.fromHtml(

"text3: Text with a " +

"link " +

"created in the Java source code using HTML."));

t3.setMovementMethod(LinkMovementMethod.getInstance());
第四種,前面三種可以說都是自動的,而第四種就是純「手工」的了。通過創建 SpanableString 字元串,並在之上創 建一個或多個 Span 來實現豐富的效果。例子如下:
Java代碼

SpannableString ss = new SpannableString("text4: Click here to dial the phone.");

ss.setSpan(new StyleSpan(Typeface.BOLD), 0, 6,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

ss.setSpan(new URLSpan("tel:4155551212"), 13, 17,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

TextView t4 = (TextView) findViewById(R.id.text4);

t4.setText(ss);

t4.setMovementMethod(LinkMovementMethod.getInstance());
完整的代碼見 ApiDemo 吧,下面我提幾點需要注意的:
.setMovementMethod,此方法在需要響應用戶事件時使用,如點擊一個電話號碼就跳轉到撥號頁面。如果不執行這個方法是不會響應事件的,即便文本看著已經是下劃線藍色字了。
.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE,這是在 setSpan 時需要指定的 flag,它的意義我試了很久也沒試出來,睡個覺,今天早上才突然有點想法,試之,果然。它是用來標識在 Span 范圍內的文本前後輸入新的字元時是否把它們也應用這個效果。分別有 Spanned.SPAN_EXCLUSIVE_EXCLUSIVE(前後都不包括)、Spanned.SPAN_INCLUSIVE_EXCLUSIVE(前麵包括,後面不包括)、Spanned.SPAN_EXCLUSIVE_INCLUSIVE(前面不包括,後麵包括)、Spanned.SPAN_INCLUSIVE_INCLUSIVE(前後都包括)

在Android中,TextView是我們最常用的用來顯示文本的控制項。
一般情況下,TextView中的文本都是一個樣式。那麼如何對於TextView中各個部分的文本來設置字體,大小,顏色,樣式,以及超級鏈接等屬性呢?下面我們通過SpannableString的具體實例操作來演示一下。
res-layout-main.xml:
Java代碼

android:layout_height="wrap_content" android:layout_width="wrap_content" android:orientation="horizontal">

android:id="@+id/myTextView"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>
res-color-color.xml
res-color-linkcolor.xml:
Java代碼

android:color="#ffffff00"/>

android:color="#ff00ffff"/>
TextViewLinkActivity:
Java代碼

import java.io.IOException;

import org.xmlpull.v1.XmlPullParserException;

import android.app.Activity;

import android.content.res.ColorStateList;

import android.content.res.XmlResourceParser;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.Color;

import android.graphics.drawable.Drawable;

import android.os.Bundle;

import android.text.SpannableString;

import android.text.Spanned;

import android.text.method.LinkMovementMethod;

import android.text.style.AbsoluteSizeSpan;

import android.text.style.BackgroundColorSpan;

import android.text.style.BulletSpan;

import android.text.style.DrawableMarginSpan;

import android.text.style.ForegroundColorSpan;

import android.text.style.IconMarginSpan;

import android.text.style.ImageSpan;

import android.text.style.RelativeSizeSpan;

import android.text.style.ScaleXSpan;

import android.text.style.StrikethroughSpan;

import android.text.style.StyleSpan;

import android.text.style.SubscriptSpan;

import android.text.style.SuperscriptSpan;

import android.text.style.TextAppearanceSpan;

import android.text.style.TypefaceSpan;

import android.text.style.URLSpan;

import android.text.style.UnderlineSpan;

import android.widget.TextView;

public class TextViewLinkActivity extends Activity {

TextView mTextView = null;

SpannableString msp = null;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mTextView = (TextView)findViewById(R.id.myTextView);

//創建一個 SpannableString對象

msp = new SpannableString("字體測試字體大小一半兩倍前景色背景色正常粗體斜體粗斜體下劃線刪除線x1x2電話郵件網站簡訊彩信地圖X軸綜合/bot");

//設置字體(default,default-bold,monospace,serif,sans-serif)

msp.setSpan(new TypefaceSpan("monospace"), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

msp.setSpan(new TypefaceSpan("serif"), 2, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//設置字體大小(絕對值,單位:像素)

msp.setSpan(new AbsoluteSizeSpan(20), 4, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

msp.setSpan(new AbsoluteSizeSpan(20,true), 6, 8, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //第二個參數boolean dip,如果為true,表示前面的字體大小單位為dip,否則為像素,同上。

//設置字體大小(相對值,單位:像素) 參數表示為默認字體大小的多少倍

msp.setSpan(new RelativeSizeSpan(0.5f), 8, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //0.5f表示默認字體大小的一半

msp.setSpan(new RelativeSizeSpan(2.0f), 10, 12, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默認字體大小的兩倍

//設置字體前景色

msp.setSpan(new ForegroundColorSpan(Color.MAGENTA), 12, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //設置前景色為洋紅色

//設置字體背景色

msp.setSpan(new BackgroundColorSpan(Color.CYAN), 15, 18, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //設置背景色為青色

//設置字體樣式正常,粗體,斜體,粗斜體

msp.setSpan(new StyleSpan(android.graphics.Typeface.NORMAL), 18, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //正常

msp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 20, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗體

msp.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 22, 24, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //斜體

msp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 24, 27, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗斜體

//設置下劃線

msp.setSpan(new UnderlineSpan(), 27, 30, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//設置刪除線

msp.setSpan(new StrikethroughSpan(), 30, 33, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//設置上下標

msp.setSpan(new SubscriptSpan(), 34, 35, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //下標

msp.setSpan(new SuperscriptSpan(), 36, 37, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //上標

//超級鏈接(需要添加setMovementMethod方法附加響應)

msp.setSpan(new URLSpan("tel:4155551212"), 37, 39, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //電話

msp.setSpan(new URLSpan("mailto:[email protected]"), 39, 41, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //郵件

msp.setSpan(new URLSpan("http://www..com"), 41, 43, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //網路

msp.setSpan(new URLSpan("sms:4155551212"), 43, 45, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //簡訊 使用sms:或者smsto:

msp.setSpan(new URLSpan("mms:4155551212"), 45, 47, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //彩信 使用mms:或者mmsto:

msp.setSpan(new URLSpan("geo:38.899533,-77.036476"), 47, 49, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //地圖

//設置字體大小(相對值,單位:像素) 參數表示為默認字體寬度的多少倍

msp.setSpan(new ScaleXSpan(2.0f), 49, 51, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默認字體寬度的兩倍,即X軸方向放大為默認字體的兩倍,而高度不變

//設置字體(依次包括字體名稱,字體大小,字體樣式,字體顏色,鏈接顏色)

ColorStateList csllink = null;

ColorStateList csl = null;

XmlResourceParser xppcolor=getResources().getXml (R.color.color);

try {

csl= ColorStateList.createFromXml(getResources(),xppcolor);

}catch(XmlPullParserException e){

// TODO: handle exception

e.printStackTrace();

}catch(IOException e){

// TODO: handle exception

e.printStackTrace();

}

XmlResourceParser xpplinkcolor=getResources().getXml(R.color.linkcolor);

try {

csllink= ColorStateList.createFromXml(getResources(),xpplinkcolor);

}catch(XmlPullParserException e){

// TODO: handle exception

e.printStackTrace();

}catch(IOException e){

// TODO: handle exception

e.printStackTrace();

}

msp.setSpan(new TextAppearanceSpan("monospace",android.graphics.Typeface.BOLD_ITALIC, 30, csl, csllink), 51, 53, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//設置項目符號

msp.setSpan(new BulletSpan(android.text.style.BulletSpan.STANDARD_GAP_WIDTH,Color.GREEN), 0 ,msp.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //第一個參數表示項目符號佔用的寬度,第二個參數為項目符號的顏色

//設置圖片

Drawable drawable = getResources().getDrawable(R.drawable.icon);

drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());

msp.setSpan(new ImageSpan(drawable), 53, 57, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

mTextView.setText(msp);

mTextView.setMovementMethod(LinkMovementMethod.getInstance());

}

}

Ⅳ android怎麼使用scrollview

你在左右滑動時,如果手指不是完全水平,稍微傾斜的話,y方向移動達到一定像素就會觸發(這個值可以用viewconfigration類取得,通常是8像素)scrollview的onintercepttouchevent,它返回true,於是你的左右滑動停止,開始了scroll的上下滾動。
解決方法可以考慮這樣:
寫一個scrollview的子類,重載onintercepttouchevent方法:
邏輯如下:
如果事件是action_down,使用成員x

y記錄:
如果是move:
boolean
value
=
super.onintercepttouchevent(event);
if(value)
{
float
deltax
=
event.getx()
-
x;
float
deltay
=
event.gety()
-
y;
if(
deltay
絕對值
>
deltax絕對值)//說明確實是上下滑動的
{
return
true;
}
}
return
false;
注意無論action是什麼,都要調用super.onintercepttouchevent
否則的話,scrollview接收不到down事件,是不會開始滾動的。

Ⅵ android加速度感測器怎麼使用

使用加速度感測器與其他感測器的方法大致相同,通過調用系統API就可以實現。分為以下幾步:
1.獲取SensorManager
2.使用SensorManager獲取加速度感測器
3.創建自定義的感測器監聽函數,並注冊
4.相對應的,在合適位置實現注銷監聽器的調用
簡單的代碼如下:
public class MainActivity extends Activity {

private static final String TAG = "SensorTest";

private SensorManager mSensorManager;
private Sensor mAccelerometer;
private TestSensorListener mSensorListener;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

initViews();

// 初始化感測器
mSensorListener = new TestSensorListener();
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
}

@Override
protected void onResume() {
super.onResume();
// 注冊感測器監聽函數
mSensorManager.registerListener(mSensorListener, mAccelerometer, SensorManager.SENSOR_DELAY_UI);
}

@Override
protected void onPause() {
super.onPause();
// 注銷監聽函數
mSensorManager.unregisterListener(mSensorListener);
}

private void initViews() {
mSensorInfoA = (TextView) findViewById(R.id.sensor_info_a);
}

class TestSensorListener implements SensorEventListener {

@Override
public void onSensorChanged(SensorEvent event) {
// 讀取加速度感測器數值,values數組0,1,2分別對應x,y,z軸的加速度
Log.i(TAG, "onSensorChanged: " + event.values[0] + ", " + event.values[1] + ", " + event.values[2]);

}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
Log.i(TAG, "onAccuracyChanged");
}

}

}

Ⅶ 如何獲得在Android的LTE信號的強度

Android手機信號強度檢測詳細介紹
作者:skxy 字體:[增加 減小] 類型:轉載 時間:2016-11-17 我要評論
這篇文章主要介紹了Android手機信號強度檢測的相關資料,android定義了2種信號單位:dBm和asu。具體兩種的關系本文給大家介紹非常詳細,需要的朋友可以參考下

最近到處在跑著找工作,難免在面試過程中遇到這樣那樣的問題,記得最清楚一次在面試過程中被問到,當手機處於弱網狀態下,如何處理,如何監聽網路信號強度變化。但是真是蒙了,回答的亂七八糟,思路一點都不明確。今天小編在這里帶領大家了解下關於手機信號強度的相關幾個概念。
Android手機信號強度介紹
android定義了2種信號單位:dBm和asu。它們之間的關系是:dBm =-113+2asu,這是google給android手機定義的特有信號單位。例如,我的信號強度為-53dBm,則對應30asu,因為-53 = -113 + (230) 。
詳細介紹兩者:
asu:alone signal unit 獨立信號單元,是一種模擬信號。ASU僅僅代表手機將它的位置傳遞給附近的信號塔的速率。它和dBm測量的是一樣的東西,但是是以一種更加線性的方式來表示。
dBm:是一個表示功率絕對值的值(也可以認為是以1mW功率為基準的一個比值),計算公式為:10log(功率值/1mw)。
[例] 如果功率P為1mw,折算為dBm後為0dBm。
[例] 對於0.01mW的功率,按dBm單位進行折算後的值應為: 10log(0.01/1)=-20dBm。
這個數值越大,表明信號越好。由於手機信號強度一般較小,折算成為dBm一般都是負數。
中國移動的規范規定,手機接收電平>=(城市取-90dBm;鄉村取-94dBm) 時,則滿足覆蓋要求,
也就是說此處無線信號強度滿足覆蓋要求.-67dBm要比-90dBm信號要強20多個dB,
那麼它在打電話接通成功率和通話過程中的話音質量都會好的多。再引入一個相關概念dB。
dB:是一個表徵相對值的值,純粹的比值,只表示兩個量的相對大小關系,沒有單位,當考慮甲的功率相比於乙功率大或小多少個dB時,按下面的計算公式:10log(甲功率/乙功率),如果採用兩者的電壓 比計算,要用20log(甲電壓/乙電壓)。
[例] 甲功率比乙功率大一倍,那麼10lg(甲功率/乙功率)=10lg2=3dB,即甲的功率比乙的功率大3 dB。反之,如果甲的功率是乙的功率的一半,則甲的功率比乙的功率小3 dB。
總結:dBm是負數,越接近0信號強度越高,信號越好,但不可能為0。asu為正數,值越大信號越好。dB是兩個量之間的比值,表示兩個量間的相對大小,而dBm則是表示功率絕對大小的值。
關於對數運算,不記得的自行復習一下了。
下面再來了解一下網路類型吧,還是很多的,不過在國內只要了解國內三大運營商的網路類型大概就可以了。
電信
2G CDMA
3G CDMA2000
4G TD-LTE,FDD-LTE
移動
2G GSM
3G TD-SCDMA
4G TD-LTE,FDD-LTE
聯通
2G GSM
3G WCDMA
4G TD-LTE,FDD-LTE
而谷歌API給我們提供的有19種類型,在TelephonyManager類中定義,具體如下
/** Network type is unknown */
public static final int NETWORK_TYPE_UNKNOWN = 0;
/** Current network is GPRS */
public static final int NETWORK_TYPE_GPRS = 1;
/** Current network is EDGE */
public static final int NETWORK_TYPE_EDGE = 2;
/** Current network is UMTS */
public static final int NETWORK_TYPE_UMTS = 3;
/** Current network is CDMA: Either IS95A or IS95B*/
public static final int NETWORK_TYPE_CDMA = 4;
/** Current network is EVDO revision 0*/
public static final int NETWORK_TYPE_EVDO_0 = 5;
/** Current network is EVDO revision A*/
public static final int NETWORK_TYPE_EVDO_A = 6;
/** Current network is 1xRTT*/
public static final int NETWORK_TYPE_1xRTT = 7;
/** Current network is HSDPA */
public static final int NETWORK_TYPE_HSDPA = 8;
/** Current network is HSUPA */
public static final int NETWORK_TYPE_HSUPA = 9;
/** Current network is HSPA */
public static final int NETWORK_TYPE_HSPA = 10;
/** Current network is iDen */
public static final int NETWORK_TYPE_IDEN = 11;
/** Current network is EVDO revision B*/
public static final int NETWORK_TYPE_EVDO_B = 12;
/** Current network is LTE */
public static final int NETWORK_TYPE_LTE = 13;
/** Current network is eHRPD */
public static final int NETWORK_TYPE_EHRPD = 14;
/** Current network is HSPA+ */
public static final int NETWORK_TYPE_HSPAP = 15;
/** Current network is GSM {@hide} */
public static final int NETWORK_TYPE_GSM = 16;
/** Current network is TD_SCDMA {@hide} */
public static final int NETWORK_TYPE_TD_SCDMA = 17;
/** Current network is IWLAN {@hide} */
public static final int NETWORK_TYPE_IWLAN = 18;

下面通過一些實例來測試一下吧

首先記得加許可權
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

實例代碼
public class MainActivity extends AppCompatActivity {
private static final int NETWORKTYPE_WIFI = 0;
private static final int NETWORKTYPE_4G = 1;
private static final int NETWORKTYPE_2G = 2;
private static final int NETWORKTYPE_NONE = 3;
public TextView mTextView;
public TelephonyManager mTelephonyManager;
public PhoneStatListener mListener;
/**
* 網路信號強度監聽
*
* @param savedInstanceState
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = (TextView) findViewById(R.id.textview);
//獲取telephonyManager
mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
//開始監聽
mListener = new PhoneStatListener();
//監聽信號強度
mTelephonyManager.listen(mListener, PhoneStatListener.LISTEN_SIGNAL_STRENGTHS);
}
@Override
protected void onResume() {
super.onResume();
mTelephonyManager.listen(mListener, PhoneStatListener.LISTEN_SIGNAL_STRENGTHS);
}
@Override
protected void onPause() {
super.onPause();
//用戶不在當前頁面時,停止監聽
mTelephonyManager.listen(mListener, PhoneStatListener.LISTEN_NONE);
}
private class PhoneStatListener extends PhoneStateListener {
//獲取信號強度
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
super.onSignalStrengthsChanged(signalStrength);
//獲取網路信號強度
//獲取0-4的5種信號級別,越大信號越好,但是api23開始才能用
// int level = signalStrength.getLevel();
int gsmSignalStrength = signalStrength.getGsmSignalStrength();
//獲取網路類型
int netWorkType = getNetWorkType(MainActivity.this);
switch (netWorkType) {
case NETWORKTYPE_WIFI:
mTextView.setText("當前網路為wifi,信號強度為:" + gsmSignalStrength);
break;
case NETWORKTYPE_2G:
mTextView.setText("當前網路為2G移動網路,信號強度為:" + gsmSignalStrength);
break;
case NETWORKTYPE_4G:
mTextView.setText("當前網路為4G移動網路,信號強度為:" + gsmSignalStrength);
break;
case NETWORKTYPE_NONE:
mTextView.setText("當前沒有網路,信號強度為:" + gsmSignalStrength);
break;
case -1:
mTextView.setText("當前網路錯誤,信號強度為:" + gsmSignalStrength);
break;
}
}
}
public static int getNetWorkType(Context context) {
int mNetWorkType = -1;
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
String type = networkInfo.getTypeName();
if (type.equalsIgnoreCase("WIFI")) {
mNetWorkType = NETWORKTYPE_WIFI;
} else if (type.equalsIgnoreCase("MOBILE")) {
return isFastMobileNetwork(context) ? NETWORKTYPE_4G : NETWORKTYPE_2G;
}
} else {
mNetWorkType = NETWORKTYPE_NONE;//沒有網路
}
return mNetWorkType;
}
/**判斷網路類型*/
private static boolean isFastMobileNetwork(Context context) {
TelephonyManager telephonyManager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
if (telephonyManager.getNetworkType() == TelephonyManager.NETWORK_TYPE_LTE) {
//這里只簡單區分兩種類型網路,認為4G網路為快速,但最終還需要參考信號值
return true;
}
return false;
}
}

關於信號獲取流程,這個還需深入研究,目前只在應用層簡單獲取了網路信號。

Ⅷ android怎麼在代碼中設置字體細風格

1.可以通過Stringsource="這只是一個測試,測試<u>下劃線</u>、<i>斜體字
</i>、<fontcolor='red'>紅色字</font>的格式";然後setText;
2還可以通過SpannableString 這個
msp = new SpannableString("字體測試字體大小一半兩倍前景色背景色正常粗體斜體粗斜體下劃線刪除線x1x2電話郵件網站簡訊彩信地圖X軸綜合/bot");

//設置字體(default,default-bold,monospace,serif,sans-serif)
msp.setSpan(new TypefaceSpan("monospace"), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
msp.setSpan(new TypefaceSpan("serif"), 2, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//設置字體大小(絕對值,單位:像素)
msp.setSpan(new AbsoluteSizeSpan(20), 4, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
msp.setSpan(new AbsoluteSizeSpan(20,true), 6, 8, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //第二個參數boolean dip,如果為true,表示前面的字體大小單位為dip,否則為像素,同上。

//設置字體大小(相對值,單位:像素) 參數表示為默認字體大小的多少倍
msp.setSpan(new RelativeSizeSpan(0.5f), 8, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //0.5f表示默認字體大小的一半
msp.setSpan(new RelativeSizeSpan(2.0f), 10, 12, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默認字體大小的兩倍

//設置字體前景色
msp.setSpan(new ForegroundColorSpan(Color.MAGENTA), 12, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //設置前景色為洋紅色

//設置字體背景色
msp.setSpan(new BackgroundColorSpan(Color.CYAN), 15, 18, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //設置背景色為青色

//設置字體樣式正常,粗體,斜體,粗斜體
msp.setSpan(new StyleSpan(android.graphics.Typeface.NORMAL), 18, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //正常
msp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 20, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗體
msp.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 22, 24, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //斜體
msp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 24, 27, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗斜體

//設置下劃線
msp.setSpan(new UnderlineSpan(), 27, 30, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//設置刪除線
msp.setSpan(new StrikethroughSpan(), 30, 33, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

//設置上下標
msp.setSpan(new SubscriptSpan(), 34, 35, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //下標
msp.setSpan(new SuperscriptSpan(), 36, 37, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //上標

//超級鏈接(需要添加setMovementMethod方法附加響應)
msp.setSpan(new URLSpan("tel:4155551212"), 37, 39, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //電話
msp.setSpan(new URLSpan("mailto:[email protected]"), 39, 41, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //郵件
msp.setSpan(new URLSpan("http://www.2cto.com"), 41, 43, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //網路
msp.setSpan(new URLSpan("sms:4155551212"), 43, 45, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //簡訊 使用sms:或者smsto:
msp.setSpan(new URLSpan("mms:4155551212"), 45, 47, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //彩信 使用mms:或者mmsto:
msp.setSpan(new URLSpan("geo:38.899533,-77.036476"), 47, 49, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //地圖

//設置字體大小(相對值,單位:像素) 參數表示為默認字體寬度的多少倍
msp.setSpan(new ScaleXSpan(2.0f), 49, 51, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默認字體寬度的兩倍,即X軸方向放大為默認字體的兩倍,而高度不變

//設置字體(依次包括字體名稱,字體大小,字體樣式,字體顏色,鏈接顏色)
具體可以參看http://blog.csdn.net/knxw0001/article/details/8838831

Ⅸ android里如何將一個負數變成正數

樓主,java裡面是有這個函數的,絕對值函數
int a=-100;
a=Math.abs(a);

熱點內容
創建資料庫並設置編碼 發布:2025-01-31 11:11:52 瀏覽:781
搭建數據中心需要的伺服器配置 發布:2025-01-31 11:11:44 瀏覽:590
c語言小數點後四捨五入 發布:2025-01-31 11:10:10 瀏覽:496
httpslinux 發布:2025-01-31 11:10:09 瀏覽:828
java4 發布:2025-01-31 11:08:42 瀏覽:355
什麼是密碼屏蔽 發布:2025-01-31 11:05:13 瀏覽:216
一個演算法的效率可分為 發布:2025-01-31 11:05:12 瀏覽:639
win7用戶名密碼是什麼 發布:2025-01-31 10:57:38 瀏覽:394
網址埠訪問 發布:2025-01-31 10:49:30 瀏覽:512
javaweb代碼 發布:2025-01-31 10:37:54 瀏覽:259