package com.example.firstapp.ui.vip
|
|
import android.graphics.drawable.Drawable
|
import androidx.fragment.app.viewModels
|
import android.os.Bundle
|
import android.util.Log
|
import androidx.fragment.app.Fragment
|
import android.view.LayoutInflater
|
import android.view.View
|
import android.view.ViewGroup
|
import android.widget.ImageView
|
import androidx.databinding.DataBindingUtil
|
import com.bumptech.glide.Glide
|
import com.bumptech.glide.load.engine.GlideException
|
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
import com.bumptech.glide.request.RequestListener
|
import com.bumptech.glide.request.target.Target
|
import com.bumptech.glide.load.DataSource
|
import com.example.firstapp.R
|
import com.example.firstapp.databinding.FragmentMemberInfoCardBinding
|
|
class MemberInfoCardFragment : Fragment() {
|
|
|
companion object {
|
fun newInstance() = MemberInfoCardFragment()
|
}
|
|
private val viewModel: MemberInfoCardViewModel by viewModels()
|
|
// 绑定变量
|
private var _binding: FragmentMemberInfoCardBinding? = null
|
private val binding get() = _binding!!
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
super.onCreate(savedInstanceState)
|
|
}
|
|
override fun onCreateView(
|
inflater: LayoutInflater, container: ViewGroup?,
|
savedInstanceState: Bundle?
|
): View {
|
// 使用 DataBindingUtil.inflate 来绑定布局
|
_binding = FragmentMemberInfoCardBinding.inflate(inflater, container, false)
|
binding.viewModel = viewModel
|
binding.lifecycleOwner = this
|
|
// 绑定头像
|
|
Glide.with(this)
|
.load("http://192.168.1.201:9000/sms/avatar/avatar.jpg")
|
.transform(RoundedCorners(100)) // 设置圆角
|
.error(R.drawable.error_placeholder) // 如果加载失败,显示占位图
|
.listener(object : RequestListener<Drawable> {
|
override fun onResourceReady(
|
resource: Drawable?,
|
model: Any?,
|
target: Target<Drawable>?, // 正确使用 Target 作为泛型参数
|
dataSource: DataSource?, // 导入正确的 DataSource
|
isFirstResource: Boolean
|
): Boolean {
|
Log.d("Glide", "Image loaded successfully")
|
return false
|
}
|
|
override fun onLoadFailed(
|
e: GlideException?,
|
model: Any?,
|
target: Target<Drawable>?, // 正确使用 Target 作为泛型参数
|
isFirstResource: Boolean
|
): Boolean {
|
Log.e("Glide", "Image load failed", e)
|
return false
|
}
|
})
|
.into(binding.memberAvatarView)
|
|
|
// 绑定会员徽章
|
|
Glide.with(this)
|
.load("http://192.168.1.201:9000/sms/member/vip_no.png")
|
.transform(RoundedCorners(100)) // 设置圆角
|
.error(R.drawable.error_placeholder) // 如果加载失败,显示占位图
|
.listener(object : RequestListener<Drawable> {
|
override fun onResourceReady(
|
resource: Drawable?,
|
model: Any?,
|
target: Target<Drawable>?, // 正确使用 Target 作为泛型参数
|
dataSource: DataSource?, // 导入正确的 DataSource
|
isFirstResource: Boolean
|
): Boolean {
|
Log.d("Glide", "Image loaded successfully")
|
return false
|
}
|
|
override fun onLoadFailed(
|
e: GlideException?,
|
model: Any?,
|
target: Target<Drawable>?, // 正确使用 Target 作为泛型参数
|
isFirstResource: Boolean
|
): Boolean {
|
Log.e("Glide", "Image load failed", e)
|
return false
|
}
|
})
|
.into(binding.memberImageView)
|
|
return binding.root
|
}
|
|
|
override fun onDestroyView() {
|
super.onDestroyView()
|
_binding = null
|
}
|
}
|