RelativeLayout

  • 點擊view時不讓背後的按鈕吃到click事件:設定xml的 android:clickable="true"

Tab

  • Android 的 Tab 有很多實作方法,最早是用 TabHost,然後有 SlidingTab 的出現。之前的 Tab 實作方式都挺麻煩的,現在新版的 Android Support Design Library 直接多了一個 Tab 控件 TabLayout,簡化 Tab 的實作方式。
  • 使用FragmentPagerAdapter注意事項:
    • 若TabLayout本身已經在一個fragment中的話,FragmentPagerAdapter的constructor必須塞Fragment.childFragmentManager()

TextView

  • 用Html.fromHtml來產生TextView的文字,Html中有<a herf="XXX://YYY/ZZZ"/>想要直接透過點擊觸發動作,可依照以下步驟

    • 在要觸發的Activityor想啟動的Activity的AndroidMenifest.xml加入IntentFilter宣告

      <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="XXX" />`  
      </intent-filter>
      
    • TextView的xml設定屬性
      android:linksClickable="true"

    • 假設TextView物件為textView,htmlText為html內容

      val styledText = Html.fromHtml\(htmlText\)
      textView.text = styledText
      val pattern = Pattern.compile\(""\)  
      Linkify.addLinks\(textView,pattern,""\)
      
  • 延續上面,若想呈現html中的圖片tag <img src="AAA"/>

    • 可改用Html.fromHtml(htmlText,imageGetter,null)產生textView所需文字

      • 其中imageGetter如下,AAA為tag值

        val imageGetter = object :Html.ImageGetter{
            override fun getDrawable(src: String?): Drawable {
                var id:Int = 0
                if (src!!.equals("AAA"))
                {
                    id = R.drawable.BBB
                }
        
                val d = activity.resources.getDrawable(id,null)
                d.setBounds(0,0,d.getIntrinsicWidth(),d.getIntrinsicHeight());
                return d
            }
        }
        

TableLayout

  • 在xml上的屬性
    • 以下屬性皆可用於TableLayout與TableRow,分別做垂直跟水平的屬性設定
      • android:stretchColumns
        • 指定index為可延伸欄位,有多個用逗號隔開
    • divider相關屬性
      • TableRow管理的是該Row的Cell與Cell之間的divider=Horizontal的divider
      • TableLayout包在TableRow外面,管理的是TableRow之間的divider=Vertical的divider

類別與物件

  • 取得某個class的完整名稱
    • Kotlin = AAA::class.java.name

Others

results matching ""

    No results matching ""