91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中怎么實現一個時間軸效果

發布時間:2021-06-26 15:53:36 來源:億速云 閱讀:159 作者:Leah 欄目:移動開發

這篇文章給大家介紹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中怎么實現一個時間軸效果就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

聂拉木县| 耒阳市| 札达县| 诏安县| 泸西县| 页游| 祁连县| 陆丰市| 阳新县| 尚志市| 遂川县| 邢台市| 刚察县| 乌海市| 钟山县| 阿合奇县| 遂川县| 华宁县| 丁青县| 罗甸县| 新平| 饶阳县| 宝山区| 邳州市| 阿尔山市| 安图县| 松溪县| 永嘉县| 武安市| 柳林县| 麦盖提县| 丰原市| 荔波县| 庆云县| 法库县| 曲阳县| 巴中市| 濮阳县| 台中县| 夏津县| 万源市|