不喜欢说太多,喜欢直接干,直接上代码,这才是我的风格。
fragment
package com.meinong.fragment.kotlin
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.webkit.WebView
import android.webkit.WebViewClient
import com.meinong.R
import com.meinong.base.TitleBarFragment
import com.meinong.common.Appconfig
import com.meinong.utils.CameraUtils
/**
* @Created: xiaoyu on 2018.01.25 10:39.
* @Describe:
* @Review:
* @Modify:
* @Version: v_1.0 on 2018.01.25 10:39.
* @Blog:http://blog.csdn.net/noteschapter
* @Github:https://github.com/mrxiaoyu100001
* @Resources:
* @Remark:
*/
class UserFragment : TitleBarFragment() {
private var wv_content: WebView? = null
override fun inflaterView(inflater: LayoutInflater, container: ViewGroup?, bundle: Bundle?): View {
return inflater.inflate(R.layout.fragment_user_center, null)
}
override fun setActionBarRes(actionBarRes: ActionBarRes?) {
super.setActionBarRes(actionBarRes)
actionBarRes?.middleTitle = getString(R.string.user_center)
actionBarRes?.leftImageVisible = Appconfig.DEFAULT_VALUE_LONG
}
override fun onBackClick() {
super.onBackClick()
onBackPressed()
}
override fun initWidget(parentView: View?) {
super.initWidget(parentView)
wv_content = bindView(R.id.frag_wv_content)
val wv_setting = wv_content?.settings
wv_setting?.javaScriptEnabled = true;
wv_setting?.javaScriptCanOpenWindowsAutomatically = true
wv_content?.addJavascriptInterface(UserJSInterface(this@UserFragment, wv_content), "javascript")
wv_content?.loadUrl("file:///android_asset/web/usercenter.html")
wv_content?.setWebViewClient(object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
view?.loadUrl(url)
return true
}
})
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == Appconfig.CAMERA_SELECT || requestCode == Appconfig.TICKET_TAKE) {
compressWithLs(data, requestCode, wv_content)
} else if (requestCode == Appconfig.TAG_ONE) {
wv_content?.post(object : Runnable {
override fun run() {
wv_content?.loadUrl("javascript:setAddress('" + data?.getStringExtra("address") + "')")
}
})
}
}
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<String>, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (requestCode == Appconfig.CAMERA_SELECT) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
CameraUtils.selectPhoto(this@UserFragment)
}
return
} else if (requestCode == Appconfig.CAMERA_TAKE) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
CameraUtils.takePhoto(this@UserFragment)
}
return
}
}
}
builder
package com.meinong.fragment.kotlin
import android.Manifest
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Bundle
import android.support.v4.app.ActivityCompat
import android.support.v4.content.ContextCompat
import android.util.Log
import androi