2014年5月21日

Android─呼叫wifi setting 頁面

趕快記錄一下,以免以後要用的時候忘記

Intent i = new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK);
startActivity(i);

Android─設定String的樣式好工具 SpannableString

當我們在開發APP時,有時候為了讓UI的顯示豐富性,我們可能在一個String的顯示上,會有
不同的配置

例如:字體的顏色、大小、粗細

又或者是String內的部分內容有 電話號碼 Email帳號

我們又希望點選他可以呼叫對應的應用程式

Android提供了SpannableString這個API可以讓我們達到上述的功能


程式碼如下:
版面配置:
orignaltext  TextView 顯示原始的字串
changetext TextView 顯示經過SpannableString設定的字串內容


    
    
    



String.xml內容如下


    Test_SpannableString
    Settings
    Hello world!
     I am normal word\n
    I am small word\n
    I am big word\n
    my phone number:\n033272345\n
    my email accout:\nkkk@quantatw.com\n
    my website:\nwww.quantatw.com\n


主要程式碼:

public class SpannableStringfordemo extends Activity {
 
  TextView organlTextView = null;
  TextView changeTextView= null;
  SpannableString editstring = null;
  String mixstring;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_spannable_stringfordemo);
  organlTextView=(TextView)findViewById(R.id.orignaltext);
  changeTextView=(TextView)findViewById(R.id.changetext);
        mixstring=(String)this.getResources().getText(R.string.small_word) + (String)this.getResources().getText(R.string.normal_word)+(String)this.getResources().getText(R.string.big_word)+(String)this.getResources().getText(R.string.myphonenum)+(String)this.getResources().getText(R.string.myemail)+(String)this.getResources().getText(R.string.myweb);
        organlTextView.setText(mixstring);
        editstring = new SpannableString(mixstring);
        //size the font size
        editstring.setSpan(new RelativeSizeSpan(0.5f), 0, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  //0.5f mean the half default size  
        editstring.setSpan(new RelativeSizeSpan(2.0f), 32, 46, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  //2.0f mean the double default size
        editstring.setSpan(new URLSpan("tel:033272345"), 64, 73, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);     //deal the number  
        editstring.setSpan(new URLSpan("mailto:kkk@quantatw.com"), 90, 107, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);     //send the mail  
        editstring.setSpan(new URLSpan("http://www.quantatw.com"), 119, 136, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);     //open the website
        changeTextView.setText(editstring);
        changeTextView.setMovementMethod(LinkMovementMethod.getInstance()); //when click intent the app
 }
}


顯示內容:

其實SpannableString還可以對String做更多的變化
大家可以參考此網站,敘述的蠻詳細的