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)  //原始参数
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章