亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Android中如何實現一個時間軸效果

發布時間:2022-04-15 16:37:14 來源:億速云 閱讀:126 作者:iii 欄目:編程語言

本文小編為大家詳細介紹“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中如何實現一個時間軸效果”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

两当县| 台湾省| 汪清县| 和政县| 钟山县| 武胜县| 田林县| 莱州市| 喀喇沁旗| 盘山县| 西乡县| 牟定县| 上犹县| 蛟河市| 华坪县| 青龙| 会昌县| 酒泉市| 崇文区| 绍兴市| 平顶山市| 乌鲁木齐县| 金塔县| 祁连县| 长乐市| 嘉定区| 桦川县| 湘西| 云龙县| 河南省| 多伦县| 临夏市| 荣昌县| 宝山区| 安徽省| 仁布县| 昌邑市| 崇明县| 安仁县| 二连浩特市| 渭源县|