日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Android實(shí)現(xiàn)仿時間軸

下面來看看時間軸的實(shí)現(xiàn),效果如下圖
   
    其實(shí)只不過是布局+動態(tài)生產(chǎn)TextView罷了,一開始選的是 FrameLayout,后來發(fā)現(xiàn)在處理單擊事件的時候一個問題 ,例如:

創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元都江堰做網(wǎng)站,已為上家服務(wù),為都江堰各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575

 
 
 
 
  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的位置也好設(shè)置多了,下面是代碼:


 
 
 
 
  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;// 單擊改變菜單圖標(biāo)    
  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])), 0, 0);    
  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]), 0, 0);    
  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.                             0, 0);    
  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.  }   

分享標(biāo)題:Android實(shí)現(xiàn)仿時間軸
網(wǎng)頁鏈接:http://www.dlmjj.cn/article/djgdpph.html