<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                //別看這個標題挺大,其實這次要說的只是3個小技巧。 //2014.11.7 update #### 1、字符串資源里變量替換 工作中是拒絕硬編碼的,android里會把一些字符串等放在xml中當做資源使用,如項目中values下的strings.xml列出了app_name. 有些情況是這樣的,程序中要使用的字符串如第345頁,345是變量,那么我們不可能用兩個字符串資源如 ~~~ string?name="di">第string>?? string?name="page">頁string>?? ~~~ 在程序中拼接字符串。那么我們可能會想,在我們學習C的時候,有%s這樣的神奇的符號,可以替換變量的格式化操作符。 其實,在android中也有這樣的東西,那就是XLIFF,全稱叫XML本地化數據交換格式,英文全稱XML Localization Interchange File Format。 用法也是很簡單的,如 ` string?name="page">第%1$s頁string>??` 程序中只要給變量賦值就可以了,如 ` String?page?=?getString(R.string.page,"345");??` 那么,要是有多個變量呢,如第345頁24行?這也好辦,如下: ` string?name="page">第%1$s頁%2$s行string>??` ` String?page?=?getString(R.string.page,"345","24");??` #### 2、TextView中設置多種字體大小 這是項目中經常遇到的,比如UI是這樣的: Android實戰技巧之文本與布局 像這樣的兩種字體,要如何處理呢?需要用到android.text命名空間下的一些與spannable相關的類和接口。例子如: ~~~ String?text?=?"Android實戰技巧之文本與布局";?? int?start?=?text.indexOf('之');?? int?end?=?text.length();?? Spannable?textSpan?=?new?Spannable(text);?? textSpan.setSpan(new?AbsoluteSizeSpan(20),0,start,Spannable.SPAN_INCLUSIVE_INCLUSIVE);?? textSpan.setSpan(new?AbsoluteSizeSpan(12),start,end,Spannable.SPAN_INCLUSIVE_INCLUSIVE);?? ~~~ 這個textSpan就是你想要的。 #### 3、TextView的超鏈接 這個很簡單,在xml中屬性autoLink=“all”。 程序中TextView.setAutoLink(Linkify.ALL); 說下參數: Linkify.EMAIL_ADDRESS -- 僅識別出TextView中的Email在址,標識為超鏈接,點擊后會跳到Email,發送郵件給此地址 Linkify.PHONE_NUMBERS -- 僅識別出TextView中的電話號碼,標識為超鏈接,點擊后會跳到Dialer,Call這個號碼 Linkify.WEB_URLS-- 僅識別出TextView中的網址,標識為超鏈接,點擊后會跳到Browser打開此URL Linkify.ALL -- 這個選項是識別出所有系統所支持的特殊Uri,然后做相應的操作 **特殊情況:** 當一段文字部分是超鏈接或者我們需要點擊超鏈接跳到另一個Activity時,如何處理? 答案還是用Spannable。例子如下(摘自網絡): ~~~ public?class?MainActivity?extends?Activity?{?? ????private?TextView?testText;?? ????@Override?? ????protected?void?onCreate(Bundle?savedInstanceState)?{?? ????????super.onCreate(savedInstanceState);?? ????????setContentView(R.layout.activity_main);?? ????????testText?=?(TextView)?findViewById(R.id.testText);?? ????????//將TextView的顯示文字設置為SpannableString?? ????????testText.setText(getClickableSpan());?? ????????//設置該句使文本的超連接起作用?? ????????testText.setMovementMethod(LinkMovementMethod.getInstance());?? ????}?? ?? ????//設置超鏈接文字?? ????private?SpannableString?getClickableSpan(){?? ????????SpannableString?spanStr?=?new?SpannableString("使用該軟件,即表示您同意該軟件的使用條款和隱私政策");?? ????????//設置下劃線文字?? ????????spanStr.setSpan(new?UnderlineSpan(),?16,?20,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);???? ????????//設置文字的單擊事件?? ????????spanStr.setSpan(new?ClickableSpan()?{?? ?? ????????????@Override?? ????????????public?void?onClick(View?widget)?{?? ?? ????????????????startActivity(new?Intent(MainActivity.this,?TestActivity1.class));?? ????????????}?? ????????},?16,?20,?Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);?? ????????//設置文字的前景色?? ????????spanStr.setSpan(new?ForegroundColorSpan(Color.WHITE),?16,?20,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);?? ????????//設置下劃線文字?? ????????spanStr.setSpan(new?UnderlineSpan(),?21,?25,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);???? ????????//設置文字的單擊事件?? ????????spanStr.setSpan(new?ClickableSpan()?{?? ?????????????? ????????????@Override?? ????????????public?void?onClick(View?widget)?{?? ?????????????????? ????????????????startActivity(new?Intent(MainActivity.this,?TestActivity2.class));?? ????????????}?? ????????},?21,?25,?Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);?? ????????//設置文字的前景色?? ????????spanStr.setSpan(new?ForegroundColorSpan(Color.WHITE),?21,?25,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);?? ????????return?spanStr;?? ????}?? }?? ~~~ #### 4、布局中只在界面底部 在大部分的android程序中,都會發現一個底部的菜單欄。這通常是一個線性布局加一些按鈕。如何讓其始終在底部,無論是哪個分辨率呢? 這要用到關系布局的屬性 ` android:layout_alignParentBottom="true"??` 在關系布局內部,如果把此屬性設置true,就會在關系布局的底部了。 這個用途還是很廣泛的。 #### 5.EditText與軟鍵盤 當界面有EditText并且光標落在上面時,軟鍵盤就會彈出。本來是為了方便,但有些情況這樣挺討厭的。比如登錄界面。 取消它只需要在Manifest文件中使用windowSoftInputMode即可,如下: ~~~ activity??? ????android:name=".LoginActivity"?? ????android:label="@string/app_name"?? ??android:windowSoftInputMode="stateHidden|adjustResize"?? ????>?? ~~~ **6.布局的邊框顏色** // 2014.11.24 updated 嘗試一下用各種layout仿制listview,就是把layout的邊框設置對應的顏色。 在drawable下添加layer_list, ~~~ xml?version="1.0"?encoding="utf-8"?>?? layer-list?xmlns:android="http://schemas.android.com/apk/res/android">?? ??item>?? ????shape>?? ????????stroke?android:width="3px"?android:color="#ffff0000"?/>?? ????????solid?android:color="#FFFCFCFC"?/>?? ????????corners?android:radius="4dp"?/>?? ????shape>?? ??item>?? layer-list>?? ~~~ 在layout中引用: ~~~ LinearLayout??? ????android:layout_width="match_parent"?? ????android:layout_height="300dp"?? ????android:orientation="vertical"?? ????android:background="@drawable/layout_bg"?? ????>?? ~~~ //2014.11.27 update? 其他widget如ImageView的邊框也可以像這樣設置。 #### 7.Java文件中字體加粗 ~~~ //2015.1.12?update?? //Typeface?? textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));?? //use?TextPaint?? ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看