<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
android:background="#F0F0F0">
<TextView
android:id="@+id/home_ys"
android:layout_width="match_parent"
android:layout_height="240dp"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:background="@drawable/liner_style" />
<ImageView
android:id="@+id/fragment_tx"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_margin="40dp"
android:src="@drawable/avator"/>
<ImageButton
android:id="@+id/fragment_avatar"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginStart="40dp"
android:layout_marginTop="40dp"
android:layout_marginEnd="40dp"
android:layout_marginBottom="40dp"
android:background="#07000000" />
//显示用户名
<TextView
android:id="@+id/wd_name"
android:layout_width="180dp"
android:layout_height="30dp"
android:layout_marginTop="50dp"
android:layout_toRightOf="@id/fragment_tx"
android:text="我有金锤八百斤"
android:textColor="@color/black"
android:textSize="18dp" />
<TextView
android:id="@+id/wd_no"
android:layout_width="180dp"
android:layout_height="30dp"
android:layout_marginTop="100dp"
android:layout_toRightOf="@id/fragment_tx"
android:text="wx1745884046"
android:textColor="@color/black"
android:textSize="16dp"/>
// 下方按钮
<LinearLayout
android:id="@+id/inter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/fragment_tx"
android:orientation="horizontal"
android:textSize="30dp">
<Button
android:id="@+id/XPQ_FAVORITES"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_weight="1"
android:background="#00FFFFFF" />
<Button
android:id="@+id/XPQ_RECORDING"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_weight="1"
android:background="#00FFFFFF" />
<Button
android:id="@+id/XPQ_ORDER"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_weight="1"
android:background="#00FFFFFF"/>
<Button
android:id="@+id/XPQ_WALLET"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_weight="1"
android:background="#00FFFFFF"/>
</LinearLayout>
//上方按钮的说明文字
<LinearLayout
android:id="@+id/inters"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/fragment_tx"
android:layout_marginTop="50dp"
android:orientation="horizontal">
<TextView
android:id="@+id/FAVORITES"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#00FFFFFF"
android:text="收藏"
android:gravity="center"
android:textSize="15dp" />
<TextView
android:id="@+id/RECORDING"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#00FFFFFF"
android:gravity="center"
android:text="历史" />
<TextView
android:id="@+id/ORDER"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#00FFFFFF"
android:gravity="center"
android:text="订单" />
<TextView
android:id="@+id/WALLET"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#00FFFFFF"
android:gravity="center"
android:text="钱包" />
</LinearLayout>
//列表显示按钮
<LinearLayout
android:id="@+id/r_inner"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/inters"
android:layout_marginTop="10dp">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/r1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:background="@drawable/liner_style" />
</LinearLayout>
</RelativeLayout>
package com.example.newapplication.homeFragment
import android.app.Activity
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.StaggeredGridLayoutManager
import com.example.newapplication.HomeActivity
import com.example.newapplication.databinding.FragmentMyBinding
import com.example.newapplication.entity.Op
import ListAdapter
import android.content.Context
import android.content.Intent
import android.content.SharedPreferences
import android.graphics.BitmapFactory
import android.util.Base64
import com.example.newapplication.personal.NoActivity
import com.example.newapplication.personal.PersonalActivity
import com.example.newapplication.personal.RecordingActivity
import com.example.newapplication.taskActivity.NewsActivity
import com.example.newapplication.taskActivity.PersonalTaskActivity
import com.example.newapplication.taskActivity.TaskActivity
class MyFragment : Fragment() {
var _binding:FragmentMyBinding? = null
val binding get() = _binding!!
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
_binding = FragmentMyBinding.inflate(inflater,container,false)
init()
setMessage()
list_button_click()
message_page()
return binding.root
}
//初始化 上层图标 和 选项列表
fun init(){
clickRecording()
val favorites = binding.XPQFAVORITES
val recording = binding.XPQRECORDING
val wallet = binding.XPQWALLET
val order = binding.XPQORDER
//设置上层图标
favorites.setCompoundDrawablesWithIntrinsicBounds(0, IconMapper.getIconResource(IconMapper.ICON_FAVORITES), 0, 0)
recording.setCompoundDrawablesWithIntrinsicBounds(0, IconMapper.getIconResource(IconMapper.ICON_SETTINGS), 0, 0)
wallet.setCompoundDrawablesWithIntrinsicBounds(0, IconMapper.getIconResource(IconMapper.ICON_WALLET), 0, 0)
order.setCompoundDrawablesWithIntrinsicBounds(0, IconMapper.getIconResource(IconMapper.ICON_ORDER), 0, 0)
val list = getListOp()
listAdapter(list)
}
//设置信息
fun setMessage(){
val sharedPreferences: SharedPreferences = requireContext().getSharedPreferences("User", Context.MODE_PRIVATE)
val shareImage : SharedPreferences = requireContext().getSharedPreferences("my_shared_prefs",Context.MODE_PRIVATE)
val byteArrayString = shareImage.getString("bitmap_key","")
val no = binding.wdNo
val name = binding.wdName
setImage(byteArrayString.toString())
name.setText(sharedPreferences.getString("userName",""))
no.setText(sharedPreferences.getString("userNo",""))
}
fun setImage(image:String){
val byteArrayString = image
val imageBytes = Base64.decode(byteArrayString, Base64.DEFAULT)
// 将字节数组转换为 Bitmap
val bitmap = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.size)
val avatar = binding.fragmentTx
avatar.setImageBitmap(bitmap)
}
//列表按钮的点击事件
fun list_button_click(){
val favorites = binding.XPQFAVORITES
val recording = binding.XPQRECORDING
val wallet = binding.XPQWALLET
val order = binding.XPQORDER
favorites.setOnClickListener{
System.out.println("111111111")
}
order.setOnClickListener {
val intent = Intent(requireContext(), PersonalTaskActivity::class.java)
startActivity(intent)
}
}
//个人信息界面跳转
fun message_page(){
val btn = binding.fragmentAvatar
btn.setOnClickListener{
val intent = Intent(requireActivity(),PersonalActivity::class.java)
startActivity(intent)
}
}
private fun getListOp(): List<Op> {
val list = ArrayList<Op>()
val icon = arrayOf(IconMapper.ICON_FAVORITES,IconMapper.ICON_FAVORITES,IconMapper.ICON_FAVORITES,IconMapper.ICON_FAVORITES)
val name = arrayOf("书库", "笔记", "定位", "设置")
val acl = arrayOf<Class<out Activity>>(HomeActivity::class.java,HomeActivity::class.java,HomeActivity::class.java,HomeActivity::class.java)
for (i in icon.indices) {
val o = Op(icon[i], name[i], acl[i])
list.add(o)
}
return list
}
private fun listAdapter(list: List<Op>) {
val r2 = binding.r1
val layoutManager = StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.VERTICAL)
r2.layoutManager = layoutManager
val adapter = ListAdapter(requireContext(),list)
r2.adapter = adapter
}
fun clickRecording(){
val btn = binding.XPQRECORDING
btn.setOnClickListener {
val intent = Intent(requireActivity(), RecordingActivity::class.java)
requireContext().startActivity(intent)
}
}
override fun onDestroy() {
super.onDestroy()
_binding = null
}
}
import com.example.newapplication.R
object IconMapper {
// 定义图标标识符
const val ICON_FAVORITES = "favorites"
const val ICON_SETTINGS = "settings"
const val ICON_WALLET = "wallte"
const val ICON_ORDER = "order"
// 图标映射方法
fun getIconResource(iconIdentifier: String): Int {
return when (iconIdentifier) {
ICON_FAVORITES -> R.drawable.ic_favorite// 假设这是一个图标资源ID
ICON_SETTINGS -> R.drawable.ic_history // 假设这是另一个图标资源ID
ICON_WALLET -> R.drawable.ic_wallet
ICON_ORDER -> R.drawable.ic_order
else -> 0 // 如果未找到对应图标,则返回0或者其他默认值
}
}
}