Kotln及mvvm使用過程中的一些記錄

記錄一

匿名內部類實現接口記錄,例如點擊事件,回調事件。使用object作爲內部實現類。

方式一

	    locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 3000, 1f, object : LocationListener {
        override fun onLocationChanged(location: Location) {

        }

        override fun onStatusChanged(provider: String, status: Int, extras: Bundle) {

        }

        override fun onProviderEnabled(provider: String) {

        }

        override fun onProviderDisabled(provider: String) {

        }
    })	

方式二

locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 3000, 1F, locationListener)
val locationListener = MyLocationListener()

inner class MyLocationListener : LocationListener {
    override fun onLocationChanged(location: Location?) {
        Log.d("haha", "onLocationChanged  =  $location")
        getCity(location)
    }

    override fun onStatusChanged(provider: String?, status: Int, extras: Bundle?) {
        Log.d("haha", "onStatusChanged  =  $provider")
    }

    override fun onProviderEnabled(provider: String?) {
        Log.d("haha", "onProviderEnabled  =  $provider")

    }

    override fun onProviderDisabled(provider: String?) {
        Log.d("haha", "onProviderDisabled  =  $provider")
    }
}

XML引號使用

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@{@string/format_day_s( viewModel.yingCheDai.bidDays)}"
                            android:textColor="@color/colorWhite"
                            android:visibility='@{viewModel.yingCheDai.bidDays == "0" ? View.GONE : View.VISIBLE}' />

動態設置字體大小

  • setTextSize(TypedValue.COMPLEX_UNIT_PX,15.0F);
  • setTextSize(TypedValue.COMPLEX_UNIT_SP,15.0F);
  • setTextSize(TypedValue.COMPLEX_UNIT_DIP,15.0F);

例子:

fragment.top_bar.top_title_tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15.0F)

動態設置TextView drawableRight 等

		val drawableRight = tvTitle.context.resources.getDrawable(R.drawable.icon_yue)
		//一定要設置這個
                drawableRight.setBounds(0,0,drawableRight.minimumWidth,drawableRight.minimumHeight)
                tvTitle.setCompoundDrawables(null,null, drawableRight,null)

kotlin json

fromjson

                val turnsType = object : TypeToken< HashMap<String,String>>() {}.type
                val rootMap = mGson.fromJson<HashMap<String,String>>(oldParamsJson, turnsType)  //原始參數
		//或者
		
                val rootMap = mGson.fromJson<HashMap<String,String>>(oldParamsJson, HashMap::class.java)  //原始參數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章