Thinking in XiaoQiang
          世人皆有悲哀,只有你不明白
          posts - 56,comments - 150,trackbacks - 0
          android SDK中提供了TabHost使用起來(lái)很方便, 但是當(dāng)tab比較多的時(shí)候,就會(huì)擠在一起,而不能橫向的滾動(dòng)比較麻煩.

                于是我嘗試的制作了一個(gè)簡(jiǎn)單的使用Gallery來(lái)代替TabHost的例子, 確實(shí)夠簡(jiǎn)單的,自?shī)首詷?lè).....僅供參考

           

               

           

                使用BroadcastReceiver來(lái)切換不同的Tab

           

              public class ChangeTabBroadcastReceiver extends BroadcastReceiver {
                  @Override
                  
          public void onReceive(Context context, Intent intent) {
                      
          int index = intent.getExtras().getInt(CURRENT_TAB_INDEX);
                      Log.i(TAG, 
          "onReceive index = " + index);
                      
          // setCurrentTab(index);
                      topBar.setSelection(index);
                      startGroupActivity(titleList.get(index).toString(),
                              (Intent) intentList.get(index));
                  }
              }

           

               沒(méi)有詳細(xì)研究SDK中的TabHost實(shí)現(xiàn)機(jī)制, 使用起來(lái)還是有些不方便的地方


          public class GalleryTabActivityDemo extends GalleryTabactivity {
              @Override
              
          public void onCreate(Bundle savedInstanceState) {
                  
          super.onCreate(savedInstanceState);
                  setDelegate(
          new SliderBarActivityDelegateImpl());
                  
          for (int i = 0; i < 14; i++) {
                      Intent intent;
                      
          if (i % 2 == 0)
                          intent 
          = new Intent(this, DemoActivity1.class);
                      
          else
                          intent 
          = new Intent(this, DemoActivity2.class);

                      
          this.addTab("title" + i, android.R.drawable.star_on, intent);

                  }
          //必須在addTab后調(diào)用commit, 有點(diǎn)麻煩, 將來(lái)會(huì)找更好的辦法
                  super.setup();
              }

          //可自定義切換tab時(shí)觸發(fā)的操作
              private class SliderBarActivityDelegateImpl extends
                      SliderBarActivityDelegate {
                  
          protected void onTabChanged(int tabIndex) {
                      Log.d(
          "onTabChanged""" + tabIndex);
                  }
              }
          }

          最近工作比較忙,沒(méi)太多時(shí)間學(xué)習(xí)android,將來(lái)會(huì)慢慢改善, 先湊合用, 拋塊磚先, 各位有玉的使勁砸, 金條也行

           下載

          posted @ 2010-05-13 15:46 小強(qiáng) 閱讀(2159) | 評(píng)論 (0)編輯 收藏
          學(xué)習(xí)android的練習(xí)小軟件.

           

              制作文件管理器的初衷是發(fā)現(xiàn)G1上并沒(méi)有隨系統(tǒng)附帶文件瀏覽軟件, 考慮到電子書(shū),媒體播放器或其它一些軟件會(huì)使用到文件瀏覽,選擇文件或文件夾, 所以先做了這個(gè)文件管理工具并封裝一些參數(shù)供第三方程序調(diào)用

              應(yīng)用很簡(jiǎn)單, 只是把手機(jī)和SD卡中的文件列出來(lái), 支持圖片和mp3的簡(jiǎn)單預(yù)覽. 未來(lái)會(huì)有更多的功能擴(kuò)充進(jìn)來(lái). 歡迎大家試用并提出意見(jiàn).

          --------------------------------------------------------4月更新0.3版 --------------------------------------------------------------------

          自從上次更新后工作太忙,半年沒(méi)玩兒ANDROID了, 最近剛剛閑下來(lái), 繼續(xù)完善文件管理器

          順便封裝了一些其它的widget, 整理后再發(fā)上來(lái)

           

          看著網(wǎng)上鋪天蓋地的各種android應(yīng)用, 再看看我這個(gè)小破軟件, 實(shí)在有點(diǎn)拿不出手, 但既然做了就得不斷完善下去

          目標(biāo)是做一個(gè)封裝widget的集合, 方便開(kāi)發(fā)者使用

           

          1, 使用線(xiàn)程和handler message機(jī)制讀取文件列表, 提升軟件性能

          2, 解決文件列表多次滾動(dòng)后速度下降的問(wèn)題

          3, 打開(kāi)文件使用手機(jī)關(guān)聯(lián)的應(yīng)用

          4, 增加文件縮略圖顯示

          --------------------------------------------------------10月27日更新0.2版 --------------------------------------------------------------------

          1.  0.2版主要增加了一些使用者的功能, 增加了收藏夾功能, 方便用戶(hù)快速的瀏覽到經(jīng)常訪(fǎng)問(wèn)的文件或文件夾

          2.  修改了一些for developer的bug

           

           

          --------------------------------------------------------  0.1版 --------------------------------------------------------------------

           

             

           

           

           

           

          -------------------------------------------------------------------- for developer --------------------------------------------------------------------

          G1上并沒(méi)有隨系統(tǒng)附帶文件瀏覽軟件, 考慮到電子書(shū),媒體播放器或其它一些軟件會(huì)使用到文件瀏覽,選擇文件或文件夾, 所以先做了這個(gè)文件管理工具并封裝一些參數(shù)供第三方程序調(diào)用,可以做為插件形式使用
          把文件管理器封裝起來(lái)并使用intent機(jī)制設(shè)置瀏覽參數(shù)和調(diào)用
          目前暫不支持多文件選擇, 將在下一版中發(fā)布
          調(diào)用程序示例

          1           Button button2  =  (Button) findViewById(R.id.but2);
          2           button2.setOnClickListener(testFileManager);

           

           1  private  OnClickListener testFileManager  =   new  OnClickListener() {
           2           public   void  onClick(View v) {
           3              Intent intent  =   new  Intent( " net.uiiang.android.alkaid.FILEMANAGER " );
           4              
           5               // 參數(shù)root_directory, 設(shè)置瀏覽的根目錄, 例如設(shè)置 /sdcard則只允許程序?yàn)g覽sd卡中的內(nèi)容, 當(dāng)程序回退上層文件夾到/sdcard后不再向上回退
           6               // 參數(shù)類(lèi)型為字符串, 默認(rèn)為"/"(根目錄)
           7              intent.putExtra( " root_directory " " / " );
           8              
           9               // 參數(shù)exclude_directory, 設(shè)置不顯示的目錄, 例如設(shè) 置"/data", "/dev", 則"/data", "/dev"這兩個(gè)目錄不會(huì)顯示給用戶(hù)
          10               // 參數(shù)類(lèi)型為字符串?dāng)?shù)組, 默認(rèn)不排除任何文件夾
          11              intent.putExtra( " exclude_directory " ,
          12                       new  String[] {  " /data " " /dev "  });
          13  
          14               // 參數(shù)thrid_party_call, 當(dāng)?shù)谌匠绦蛘{(diào)用時(shí), 必須設(shè)置 此參數(shù)為true, 否則下面幾個(gè)參數(shù)不起作用
          15               // 參數(shù)類(lèi)型為boolean, 默認(rèn)為false, 會(huì)顯示以下參數(shù)可設(shè)置的 所有菜單(除 選擇菜單)
          16              intent.putExtra( " thrid_party_call " true
          );
          17              
          18               //  參數(shù)directory_show_type, 目錄瀏覽方式
          19               //  參數(shù)類(lèi)型為 int, 默認(rèn)為0
          20               //  0 : 顯示文件和文件夾(默認(rèn))
          21               //  1 : 只顯示文件
          22               //  3 : 只顯示文件夾 
          23              intent.putExtra( " directory_show_type " 0 );
          24              
          25               // 參數(shù)use_menu_items, 設(shè)置顯示的預(yù)置菜單
          26               // 參數(shù)類(lèi)型為:int數(shù)組
          27               // 菜單列表:
          28               //  1 : 上下文菜單-打開(kāi)  (文件夾)
          29               //  2 : 上下文菜單-刪除
          30               //  3 : 上下文菜單-詳細(xì)信息
          31               //  4 : 上下文菜單-復(fù)制
          32               //  5 : option菜單-粘貼
          33               //  6 : option菜單-新建文件夾
          34               //  99: 上下文菜單-選擇 , 若需要文件管理器返回一個(gè)選中的文件路 徑, 則必須設(shè)置此菜單
          35               //  當(dāng)用戶(hù)點(diǎn)擊此菜單后, 文件管理器退出并返回給調(diào)用程序一個(gè)字符串?dāng)?shù) 組, 數(shù)組中包含文件路徑信息
          36              intent.putExtra( " use_menu_items " new   int [] {  99  });
          37              
          38               //  參數(shù)show_info_in_list, 是否在瀏覽文件中顯示簡(jiǎn)單的 信息, 如文件夾中包含多少子文件夾和文件
          39               //  默認(rèn)為true
          40              intent.putExtra( " show_info_in_list " false );
          41              
          42               //  參數(shù)show_file_extension, 是否顯示文件后綴名
          43               //  默認(rèn)為 true
          44              intent.putExtra( " show_file_extension " false );
          45              
          46               //  參數(shù)use_simple_view, 是否使用簡(jiǎn)單文件預(yù)覽
          47               //  用戶(hù)單擊文件后可以簡(jiǎn)單的預(yù)覽文件內(nèi)容, 目前支持圖片和音樂(lè)文件
          48               //  默認(rèn)為 true
          49              intent.putExtra( " use_simple_view " false );
          50              
          51               //  參數(shù)animation_show_list, 是否使用動(dòng)態(tài)效果顯示文 件列表, 目前只支持向下卷簾式的效果
          52               //  默認(rèn)為true
          53              intent.putExtra( " animation_show_list " true );
          54              
          55               // 參數(shù)mutiple_select, 是否支持多選, 為true可以一次 性選擇多個(gè)文件或目錄
          56               // 默認(rèn)為false
          57              intent.putExtra( " mutiple_select " , false );
          58  
          59              startActivityForResult(intent, SELECT_FILE);
          60          }
          61      };



          通過(guò)startActivityForResult調(diào)用文件管理器, 并使用上下文菜單選擇文件或文件夾

           

           

          點(diǎn)擊"選擇"后, 返回到調(diào)用程序

           1      @Override
           2       protected   void  onActivityResult( int  requestCode,  int  resultCode, Intent data) {
           3           super .onActivityResult(requestCode, resultCode, data);
           4           if  (requestCode  ==  SELECT_FILE) {
           5               if  (resultCode  ==  RESULT_OK) {
           6                   //  參數(shù)名為selected_uri, 得到字符串?dāng)?shù)組中包含文件路徑
           7                  String[] selectArr  =  data.getExtras().getStringArray(
           8                           " selected_uri " );
           9                   if  (selectArr  !=   null ) {
          10                      String selectFile  =   "" ;
          11                       for  (String string : selectArr) {
          12                          System.out.println( " you select  =  "
          13                                   +  data.getExtras().getStringArray(
          14                                           " selected_uri " ));
          15                      }
          16                  }
          17  
          18              }
          19          }
          20      }

           

          posted @ 2010-05-05 17:10 小強(qiáng) 閱讀(339) | 評(píng)論 (0)編輯 收藏
               摘要: 1. 0.2版主要增加了一些使用者的功能, 增加了收藏夾功能, 方便用戶(hù)快速的瀏覽到經(jīng)常訪(fǎng)問(wèn)的文件或文件夾

          2. 修改了一些for developer的bug  閱讀全文
          posted @ 2009-10-27 16:05 小強(qiáng) 閱讀(1646) | 評(píng)論 (2)編輯 收藏
               摘要: 為文件將來(lái)做電子書(shū)或媒體播放器等程序時(shí)瀏覽文件
          把文件管理器封裝起來(lái)并使用intent機(jī)制設(shè)置瀏覽參數(shù)和調(diào)用  閱讀全文
          posted @ 2009-10-17 20:21 小強(qiáng) 閱讀(2670) | 評(píng)論 (2)編輯 收藏
               摘要: 練習(xí)作品 一個(gè)簡(jiǎn)單的 android 文件管理器, 支持第三方程序調(diào)用  閱讀全文
          posted @ 2009-10-17 19:50 小強(qiáng) 閱讀(1934) | 評(píng)論 (1)編輯 收藏
               摘要: 為了體現(xiàn)出android強(qiáng)大的網(wǎng)絡(luò)功能 寫(xiě)了一個(gè)小爬蟲(chóng)程序, 通過(guò)網(wǎng)絡(luò)直接從網(wǎng)站上下載電子書(shū)  閱讀全文
          posted @ 2008-06-30 12:00 小強(qiáng) 閱讀(1381) | 評(píng)論 (0)編輯 收藏
               摘要: 晚上等著看歐洲杯,閑來(lái)無(wú)賴(lài)接著研究android , 更新了一下uReader  閱讀全文
          posted @ 2008-06-18 12:46 小強(qiáng) 閱讀(1531) | 評(píng)論 (4)編輯 收藏
               摘要: 閑來(lái)無(wú)事, 研究了一下android. 做一個(gè)小應(yīng)用練手.
            閱讀全文
          posted @ 2008-06-17 17:31 小強(qiáng) 閱讀(1890) | 評(píng)論 (4)編輯 收藏
               摘要:   閱讀全文
          posted @ 2008-06-10 17:34 小強(qiáng) 閱讀(414) | 評(píng)論 (0)編輯 收藏
               摘要: 刪除ANDROID數(shù)據(jù)庫(kù)  閱讀全文
          posted @ 2008-06-10 17:30 小強(qiáng) 閱讀(1909) | 評(píng)論 (0)編輯 收藏
          僅列出標(biāo)題  下一頁(yè)
          主站蜘蛛池模板: 金平| 镇平县| 垣曲县| 米林县| 扶沟县| 札达县| 沽源县| 武义县| 宝应县| 青阳县| 崇礼县| 花莲县| 凤庆县| 绥宁县| 南陵县| 开化县| 大埔区| 贵阳市| 旌德县| 饶平县| 洞头县| 康定县| 澎湖县| 龙海市| 清远市| 黔南| 开封市| 凯里市| 洛隆县| 山西省| 尤溪县| 宣恩县| 遵义市| 岑溪市| 县级市| 偃师市| 襄垣县| 青海省| 哈密市| 济宁市| 扬州市|