Android中如何实现一个时间轴效果
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本文小编为大家详细介绍"Android中如何实现一个时间轴效果",内容详细,步骤清晰,细节处理妥当,希望这篇"Android中如何实现一个时间轴效果"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入
千家信息网最后更新 2025年01月21日Android中如何实现一个时间轴效果
本文小编为大家详细介绍"Android中如何实现一个时间轴效果",内容详细,步骤清晰,细节处理妥当,希望这篇"Android中如何实现一个时间轴效果"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
其实只不过是布局+动态生产TextView罢了,一开始选的是 FrameLayout,后来发现在处理单击事件的时候一个问题 ,例如:
FrameLayout frameLayout= (FrameLayout) findViewById(R.id.frameLayout); for(...){ frameLayout.add(tv1); frameLayout.add(tv2); //在这里直接处理单击事件肯定是不行的,tv1和tv2是重合在一起的 } FrameLayout frameLayout= (FrameLayout) findViewById(R.id.frameLayout); for(...){ tv1.setLayoutparams(....); frameLayout.add(tv1); frameLayout.add(tv2); //在这里直接处理单击事件就可以了,不知道为什么? }
所以,直接改 成Linearlayout了,改成Linearlayout后,那些TextView的位置也好设置多了,下面是代码:
package com.lliq.ui; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.TextView; import com.lliq.R; public class HistoryActivity extends Activity { private final int space_year = 5; private final int space_month = 5; private String[] year = { "2010", "2011", "2012", "2013" }; private String[][] month = { { "01", "03", "04", "11" }, { "07" }, { "01", "03", "04", "11" }, { "07" } }; boolean menu_falg = false;// 单击改变菜单图标 private TextView[] tv_year; private TextView[] tv_month; private TextView content; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.iq_history); initLayout(); } private void initLayout() { LinearLayout btnback = (LinearLayout) findViewById(R.id.history_layouthome); final TextView btnhome = (TextView) findViewById(R.id.history_btnhome); btnback.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { menu_falg = !menu_falg; btnhome.setBackgroundResource(menu_falg ? R.drawable.menuspread : R.drawable.menu_n); MainActivity.handler.sendEmptyMessage(0); } }); content = (TextView) findViewById(R.id.content); LinearLayout timelayout = (LinearLayout) findViewById(R.id.timelayout); tv_year = new TextView[year.length]; for (int i = 0; i < year.length; i++) { tv_year[i] = new TextView(this); tv_year[i].setPadding( 10, i == 0 ? space_year : space_year * (13 - Integer.parseInt(month[i - 1][month[i - 1].length - 1])), 0, 0); tv_year[i].getPaint().setFakeBoldText(true); tv_year[i].setTextSize(14); tv_year[i].setTag(year[i]); tv_year[i].setText(year[i] + " --"); tv_year[i].setOnClickListener(new TimeLineClickListener(tv_year[i])); timelayout.addView(tv_year[i]); tv_month = new TextView[year.length]; for (int j = 0; j < month[i].length; j++) { tv_month[i] = new TextView(this); if (j == 0) { tv_month[i].setPadding(20, space_month * Integer.parseInt(month[i][j]), 0, 0); } else { tv_month[i].setPadding(20, space_month * (Integer.parseInt(month[i][j]) - Integer.parseInt(month[i][j - 1])), 0, 0); } tv_month[i].setTextSize(12); tv_month[i].setText(month[i][j] + "月 --"); tv_month[i].setTag(year[i] + "-" + month[i][j]); tv_month[i].setOnClickListener(new TimeLineClickListener(tv_month[i])); timelayout.addView(tv_month[i]); } } } class TimeLineClickListener implements OnClickListener { TimeLineClickListener(View v) { } @Override public void onClick(View v) { content.setText(v.getTag().toString()); } } }
读到这里,这篇"Android中如何实现一个时间轴效果"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
处理
效果
时间
事件
文章
内容
不行
妥当
代码
位置
动态
只不过
图标
布局
思路
新知
时候
更多
步骤
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器系统集成哪家正规
数据库吞吐量优化
网络安全文明上网队报
捷顺数据库连接不上
学生发展状况数据库
5g网络技术三大特点
斑马标签机数据库
在数据库表中姓名字
2018网络安全知识选择题
香港服务器可以玩台湾服务器吗
中国建设银行网络安全
软件开发协助互联网犯罪
川大网络安全分数
同花顺网络安全新闻
多服务器管理平台
vsan更换服务器
康巴什云计算网络安全
服务器将在3分钟内停机
金山软件开发等级
软件开发的报价单
数据库原理实验报告5单表查询
网络安全色总颜色数量
excel数据库中找相同
腾讯云与阿里云服务器的租用模式
网络安全日常护网
sql数据库期末试题
服务器云服
数据库安装后总是出现错误
云服务器安全可以用杀毒软件
数据库关系的专门运算