国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Android實現仿時間軸

移動開發 Android
在開發中,我們經常會遇到要求實現一些界面特效的,其中,時光軸的效果是最近新興起來的,這種效果實現起來并不難,下面直接上效果和代碼。

下面來看看時間軸的實現,效果如下圖
   
    其實只不過是布局+動態生產TextView罷了,一開始選的是 FrameLayout,后來發現在處理單擊事件的時候一個問題 ,例如:

  1. FrameLayout frameLayout= (FrameLayout) findViewById(R.id.frameLayout);   
  2.  
  3.  for(...){   
  4.  
  5.      frameLayout.add(tv1);   
  6.  
  7.     frameLayout.add(tv2);   
  8.  
  9.     //在這里直接處理單擊事件肯定是不行的,tv1和tv2是重合在一起的   
  10.  
  11.  }   
  12.  
  13.      
  14.  
  15.      
  16.  
  17.  FrameLayout frameLayout= (FrameLayout) findViewById(R.id.frameLayout);   
  18.  
  19.  for(...){   
  20.  
  21.      tv1.setLayoutparams(....);   
  22.  
  23.     frameLayout.add(tv1);   
  24.  
  25.     frameLayout.add(tv2);   
  26.  
  27.    //在這里直接處理單擊事件就可以了,不知道為什么?   
  28.  
  29.  }  

所以,直接改 成Linearlayout了,改成Linearlayout后,那些TextView的位置也好設置多了,下面是代碼:


  1. package com.lliq.ui;    
  2. import android.app.Activity;    
  3.   
  4.  import android.os.Bundle;    
  5.   
  6.  import android.util.Log;    
  7.   
  8.  import android.view.View;    
  9.   
  10.  import android.view.View.OnClickListener;    
  11.   
  12. import android.view.Window;    
  13.   
  14.  import android.widget.FrameLayout;    
  15.   
  16.  import android.widget.LinearLayout;    
  17.   
  18.  import android.widget.TextView;    
  19.   
  20.     
  21.   
  22.  import com.lliq.R;    
  23.   
  24.     
  25.   
  26.  public class HistoryActivity extends Activity    
  27.   
  28. {    
  29.   
  30.     private final int space_year = 5;    
  31.   
  32.      private final int space_month = 5;    
  33.   
  34.     private String[] year = { "2010""2011""2012""2013" };    
  35.   
  36.     private String[][] month = { { "01""03""04""11" }, { "07" }, { "01""03""04""11" },    
  37.   
  38.             { "07" } };    
  39.   
  40.      
  41.   
  42.      boolean menu_falg = false;// 單擊改變菜單圖標    
  43.   
  44.       
  45.   
  46.     private TextView[] tv_year;    
  47.   
  48.     private TextView[] tv_month;    
  49.   
  50.      private TextView content;    
  51.   
  52.       
  53.   
  54.      @Override   
  55.   
  56.      protected void onCreate(Bundle savedInstanceState)    
  57.   
  58.      {    
  59.   
  60.         super.onCreate(savedInstanceState);    
  61.   
  62.         requestWindowFeature(Window.FEATURE_NO_TITLE);    
  63.   
  64.          setContentView(R.layout.iq_history);    
  65.   
  66.         initLayout();    
  67.   
  68.     }    
  69.   
  70.      
  71.   
  72.    private void initLayout()    
  73.   
  74.     {    
  75.   
  76.          LinearLayout btnback = (LinearLayout) findViewById(R.id.history_layouthome);    
  77.   
  78.          final TextView btnhome = (TextView) findViewById(R.id.history_btnhome);    
  79.   
  80.         btnback.setOnClickListener(new OnClickListener()    
  81.   
  82.        {    
  83.   
  84.            @Override   
  85.   
  86.             public void onClick(View arg0)    
  87.   
  88.             {    
  89.   
  90.                 menu_falg = !menu_falg;    
  91.   
  92.                btnhome.setBackgroundResource(menu_falg ? R.drawable.menuspread : R.drawable.menu_n);    
  93.   
  94.                MainActivity.handler.sendEmptyMessage(0);    
  95.   
  96.             }    
  97.   
  98.         });    
  99.   
  100.      
  101.   
  102.         content = (TextView) findViewById(R.id.content);    
  103.   
  104.         LinearLayout timelayout = (LinearLayout) findViewById(R.id.timelayout);    
  105.   
  106.         tv_year = new TextView[year.length];    
  107.   
  108.         for (int i = 0; i < year.length; i++)    
  109.   
  110.         {    
  111.   
  112.             tv_year[i] = new TextView(this);    
  113.   
  114.             tv_year[i].setPadding(    
  115.   
  116.                   10,    
  117.   
  118.                     i == 0 ? space_year : space_year    
  119.   
  120.                             * (13 - Integer.parseInt(month[i - 1][month[i - 1].length - 1])), 00);    
  121.   
  122.              tv_year[i].getPaint().setFakeBoldText(true);    
  123.   
  124.            tv_year[i].setTextSize(14);    
  125.   
  126.             tv_year[i].setTag(year[i]);    
  127.   
  128.              tv_year[i].setText(year[i] + "  --");    
  129.   
  130.             tv_year[i].setOnClickListener(new TimeLineClickListener(tv_year[i]));    
  131.   
  132.              timelayout.addView(tv_year[i]);    
  133.   
  134.             tv_month = new TextView[year.length];    
  135.   
  136.             for (int j = 0; j < month[i].length; j++)    
  137.   
  138.             {    
  139.   
  140.                 tv_month[i] = new TextView(this);    
  141.   
  142.                 if (j == 0)    
  143.   
  144.                 {    
  145.   
  146.                     tv_month[i].setPadding(20, space_month * Integer.parseInt(month[i][j]), 00);    
  147.   
  148.                  } else   
  149.   
  150.                 {    
  151.   
  152.                     tv_month[i].setPadding(20, space_month    
  153.   
  154.                              * (Integer.parseInt(month[i][j]) - Integer.parseInt(month[i][j - 1])),    
  155.   
  156.                             00);    
  157.   
  158.                 }    
  159.   
  160.                  tv_month[i].setTextSize(12);    
  161.   
  162.                  tv_month[i].setText(month[i][j] + "月   --");    
  163.   
  164.                 tv_month[i].setTag(year[i] + "-" + month[i][j]);    
  165.   
  166.                  tv_month[i].setOnClickListener(new TimeLineClickListener(tv_month[i]));    
  167.   
  168.                timelayout.addView(tv_month[i]);    
  169.   
  170.             }    
  171.   
  172.         }    
  173.   
  174.      
  175.   
  176.     }    
  177.   
  178.      
  179.   
  180.     class TimeLineClickListener implements OnClickListener    
  181.   
  182.      {    
  183.   
  184.      
  185.   
  186.         TimeLineClickListener(View v)    
  187.   
  188.          {    
  189.   
  190.        }    
  191.   
  192.      
  193.   
  194.         @Override   
  195.   
  196.          public void onClick(View v)    
  197.   
  198.          {    
  199.   
  200.              content.setText(v.getTag().toString());    
  201.   
  202.         }    
  203.   
  204.     }    
  205.   
  206.      
  207.   
  208.  }   

 

責任編輯:張葉青 來源: 開源社區
相關推薦

2015-11-09 15:42:28

2021-02-20 09:36:11

數據大數據數據可視化

2021-04-16 06:48:39

Windows10操作系統微軟

2023-05-31 18:58:16

得物人事系統時間軸

2014-08-15 15:01:29

時間軸

2020-07-26 12:01:08

PythonPython 3.8開發

2017-12-20 21:12:04

2015-03-31 13:36:37

編程時間軸插件詳細說明

2021-05-25 10:52:33

Windows10操作系統微軟

2018-04-08 18:29:22

Windows 10組織工具時間軸

2021-04-15 07:14:06

Windows10操作系統21H2

2018-05-14 10:56:25

APPiOS開發代碼

2021-04-15 12:45:05

Windows 10Windows操作系統

2023-02-24 09:54:54

開源React

2012-12-27 10:51:14

Android開發iPhone時間輪

2023-05-04 08:09:44

Windows 11微軟

2025-12-10 09:30:34

2023-11-18 10:19:52

微軟Windows

2011-09-19 16:40:40

2014-08-18 14:18:07

Android桌面懸浮
點贊
收藏

51CTO技術棧公眾號

精品伦理一区二区三区| 久久久久久av无码免费网站下载| 国产日韩中文字幕| а√在线中文在线新版| 欧美激情在线免费观看| 久久久国产一区二区| 欧美一级视频免费看| 国产综合动作在线观看| 成人免费高清| 国产精品亲子乱子伦xxxx裸| 99久久99九九99九九九| 91精品在线麻豆| 三级国产在线观看| 亚洲香肠在线观看| 在线视频国产福利| 亚洲国产综合在线| 免费播放av| 亚洲午夜免费视频| 在线欧美成人| 欧美这里有精品| 欧美美女色图| 色综合色综合色综合色综合色综合 | 欧美成人三级在线视频| 激情国产一区二区| 青青在线免费视频| www.亚洲国产| 黄色三级视频在线| 亚洲蜜臀av乱码久久精品蜜桃| 中文字幕伊人| 欧美日韩免费在线观看| 一本一道波多野毛片中文在线| 69堂精品视频| 三级成人黄色影院| 色妞久久福利网| 欧美1区2区3区4区| 成人有码在线视频| 亚洲一区日本| 精品一区二区成人免费视频| 成人网在线免费视频| 91午夜在线| 欧美一a一片一级一片| 日本aaa在线观看| 亚洲午夜视频在线| 天天看片激情网站| 久久视频www| 不卡视频在线观看| 天美星空大象mv在线观看视频| 国产精品丝袜久久久久久不卡| 日韩一区二区在线| 欧美三级电影在线播放| 国产91精品露脸国语对白| 99青春婷婷视频| 色av成人天堂桃色av| 欧亚在线中文字幕免费| 九九热精品视频国产| 婷婷亚洲图片| a级黄色片免费| 亚洲国产成人91porn| 182在线播放| 日本乱人伦a精品| 蜜臀久久99精品久久久久宅男| 9久久婷婷国产综合精品性色| 欧美偷拍一区二区| 国产精品一区二区三区av| 91日本在线观看| 国产超碰在线一区| 亚洲国产资源| 国产一区二区激情| 日韩欧美视频| 欧美日韩午夜爽爽| 色婷婷精品大视频在线蜜桃视频| 国产精品麻豆成人av电影艾秋| 亚洲一区二区三区sesese| 不卡高清视频专区| 国产小视频在线观看| 久久av中文字幕| 国产日韩视频| 免费观看一二区视频网站| 亚洲精品一区久久久久久| 99久久久久久中文字幕一区| 日韩精品在线中文字幕| 日本韩国一区二区| 亚洲欧洲国产精品一区| 91美女片黄在线观看| 日韩电影在线观看完整版| 国产精品久久视频| 亚洲国产精品久久久久| 亚洲精品天堂成人片av在线播放| 综合久久久久久| 国产 国语对白 露脸| 欧美特级www| 成人动漫视频| 日韩成人av网站| 精品成人久久av| 日韩一区二区三区精品| 日韩欧美第二区在线观看| 亚洲乱码精品一二三四区日韩在线 | 97超碰人人爱| 欧美色视频在线观看| 蜜桃一区二区三区| 欧美一级片免费播放| 欧美精品一区二区三| 国产在线成人| 一二三四社区在线视频| 国内精品小视频| 91在线小视频| 日韩av中字| 最新不卡av| 精品福利在线导航| 石原莉奈在线亚洲三区| 3d成人动漫在线| 91亚洲精品久久久久久久久久久久| 国产精品成人一区二区三区夜夜夜| 国产精品天堂蜜av在线播放 | 欧美日韩免费| 无线免费在线视频| 国产精品第2页| 亚洲欧美日韩国产手机在线| eeuss国产一区二区三区四区| 成人黄色大片网站| 亚洲视频在线播放| 盗摄精品av一区二区三区| 性xxxxfreexxxxx欧美丶| 一本久久a久久精品vr综合 | 波多野结衣一区二区| 91精品久久久久久| 91精品国产色综合久久不卡蜜臀 | 在线成人激情视频| 蜜桃av一区二区在线观看| 色一区二区三区| 一区二区三区观看| 欧美精品videossex88| 久操手机在线视频| 欧美日韩综合网| 国产精品第8页| 精品国产一区二区三区在线观看| 成人福利视频在线| 欧美fxxxxxx另类| 丁香久久综合| 日本国产在线| 国产视频手机在线播放| 在线观看成人av| 免费污视频在线观看| 成人久久18免费网站漫画| 欧美亚洲综合在线| 老鸭窝91久久精品色噜噜导演| 黄av在线免费观看| 人人妻人人澡人人爽精品欧美一区| 一本一道久久a久久精品逆3p| eeuss影院一区二区三区| 久久免费视频66| 四虎在线观看| 日韩欧美激情一区二区| 中文字幕日韩在线观看| 国产精品久久综合| 在线精品国产| 2021中文字幕在线| 色哟哟一区二区在线观看| 久久夜色精品| 91精品在线免费视频| 激情四房婷婷| 欧美精品七区| 日韩中文综合网| 亚洲一区在线电影| 玖玖精品视频| 99re6热只有精品免费观看| 中文字幕免费在线观看| 日产精品久久久一区二区| 久久亚洲成人精品| 欧美日韩在线视频一区| 久久丁香综合五月国产三级网站| 国产精品一区二区三区四区在线观看| 米奇在线777| 亚洲国产一区二区精品视频 | 国产精品极品尤物在线观看| 欧美丰满少妇xxxxx高潮对白| 成人毛片老司机大片| 懂色av一区二区三区免费看| 视频在线观看成人| 在线影院福利| 91极品视频在线| 色噜噜狠狠成人网p站| 老司机亚洲精品| 91精品啪在线观看国产爱臀| 亚洲一区在线日韩在线深爱| 青草久久伊人| 亚洲自拍偷拍二区| 欧美激情视频在线免费观看 欧美视频免费一 | 五月天综合婷婷| 欧美日韩一二三| 久久亚洲捆绑美女| 91在线精品一区二区三区| fc2成人免费人成在线观看播放| 日韩av一区二区在线影视| 奇米影视一区二区三区| 美女网站色91| 红桃视频成人在线观看| 亚洲人高潮女人毛茸茸| 午夜精品爽啪视频| www.在线成人|