日历界面编写
作者:@kuaiquxie
作者的github:https://github.com/bitebita
本文为作者原创,如需转载,请注明出处:https://www.cnblogs.com/dzwj/p/15881107.html
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white"> <HorizontalScrollView android:layout_width="wrap_content" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/dialog_calendar_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> </LinearLayout> </HorizontalScrollView> <GridView android:id="@+id/dialog_calendar_gv" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#2196F3" android:numColumns="4" /> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/dialog_calendar_iv" android:src="@mipmap/ih_error" android:padding="20dp"/> </LinearLayout>
为日历添加适配器
package com.example.easycash.adapter; import android.content.Context; import android.graphics.Color; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import androidx.core.content.ContextCompat; import com.example.easycash.R; import java.util.ArrayList; import java.util.List; /* * 历史账单界面,点击日历表,弹出对话框,当中的GridView对应的适配器 * */ public class CalendarAdapter extends BaseAdapter { Context context; List<String>mDatas; public int year; public int selPos = -1; public void setYear(int year) { this.year = year; mDatas.clear(); loadDatas(year); notifyDataSetChanged(); } public CalendarAdapter(Context context, int year) { this.context = context; this.year = year; mDatas = new ArrayList<>(); loadDatas(year); } private void loadDatas(int year) { for (int i = 1; i < 13; i++) { String data = year+"/"+i; mDatas.add(data); } } @Override public int getCount() { return mDatas.size(); } @Override public Object getItem(int position) { return mDatas.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { convertView = LayoutInflater.from(context).inflate(R.layout.item_dialogcal_gv,parent,false); TextView tv = convertView.findViewById(R.id.item_dialogcal_gv_tv); tv.setText(mDatas.get(position)); tv.setBackgroundResource(R.color.grey_f3f3f3); tv.setTextColor(Color.BLACK); if (position == selPos) { tv.setBackgroundResource(R.color.green_006400); tv.setTextColor(Color.WHITE); } return convertView; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」