1. 程式人生 > >ViewPager中動態新增XML佈局檔案,並獲取XML檔案中控制元件ID的操作(inflate)

ViewPager中動態新增XML佈局檔案,並獲取XML檔案中控制元件ID的操作(inflate)

Step 1: 佈局檔案中新增viewpager和切換頁面button

  1. <spanstyle="font-size:18px;"><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent"
  5.     tools:context
    ="com.phenix.iot_v1_tab.MainActivity">
  6.     <android.support.v4.view.ViewPager
  7.         android:id="@+id/viewPagerId"
  8.         android:layout_width="wrap_content"
  9.         android:layout_height="wrap_content"
  10.          />
  11.     <!--  -->
  12.     lay1.xml-----  
  13.     <LinearLayout
  14.         android:id
    ="@+id/mainBtnLinearId"
  15.         android:layout_width="fill_parent"
  16.         android:layout_height="wrap_content"
  17.         android:layout_alignParentBottom="true"
  18.         android:orientation="horizontal"
  19.         >
  20.         <Button
  21.             android:id="@+id/settingCtrlPageBtnId"
  22.             android:layout_width
    ="match_parent"
  23.             android:layout_height="wrap_content"
  24.             android:layout_weight="1"
  25.             android:layout_alignParentBottom="true"
  26.             android:gravity="center"
  27.             android:text="Setting"
  28.             />
  29.         <Button
  30.             android:id="@+id/dataStatusPageBtnId"
  31.             android:layout_width="match_parent"
  32.             android:layout_height="wrap_content"
  33.             android:layout_alignParentBottom="true"
  34.             android:layout_weight="1"
  35.             android:layout_toRightOf="@id/settingCtrlPageBtnId"
  36.             android:gravity="center"
  37.             android:text="Data"
  38.             />
  39.         <Button
  40.             android:id="@+id/chartStatusPageBtnId"
  41.             android:layout_width="match_parent"
  42.             android:layout_height="wrap_content"
  43.             android:layout_alignParentBottom="true"
  44.             android:layout_weight="1"
  45.             android:layout_toRightOf="@id/dataStatusPageBtnId"
  46.             android:gravity="center"
  47.             android:text="Chart"
  48.             />
  49.     </LinearLayout>
  50. </RelativeLayout></span>
注意: viewpage和button的前後關係,如果顛倒,button的單擊和viewpage的滑動事件有影響,原因也不知道。

Step 2: 添加布局檔案,右鍵res


本例中新增三個佈局檔案,如上圖藍框所示

Step 3: MainActivity中新增相關變數

本例中有三個切換頁面按鈕:set / data / chart,在set page中有一個set gain按鈕

  1. <span style="font-size:18px;">//定義ViewPager變數
  2.     ViewPager pager = null;  
  3.     View viewPager_set;  
  4.     View viewPager_data;  
  5.     View viewPager_chart;  
  6.     ArrayList<View> viewContainter = new ArrayList<View>();  
  7.     //定義ViewPager Button變數
  8.     private Button setPageBtn;  
  9.     private Button dataPageBtn;  
  10.     private Button chartPageBtn;  
  11.     //定義setPage中Button變數
  12.     private Button setGain_setPage_Btn;</span>  

在OnCreate中初始化viewpage和各相關控制元件
  1. <span style="font-size:18px;">@Override
  2.     protectedvoid onCreate(Bundle savedInstanceState) {  
  3.         super.onCreate(savedInstanceState);  
  4.         setContentView(R.layout.activity_main);  
  5.         //初始化ViewPager
  6.         InitViewPager();  
  7.         //ViewPager繫結頁面滑動監聽器
  8.         pager.addOnPageChangeListener(new viewPagerOnPageChangeListener());  
  9.         //初始化ViewPager的頁面切換按鈕
  10.         InitViewPagerSwitchBtn();  
  11.         //Bluetooth初始化
  12.         m_BusinessBluetooth = new BlueToothProcess(this);  
  13.         m_BusinessBluetooth.CreatePortListen();  
  14.         //初始化set page
  15.         InitSetPage();  
  16.         //set page監聽器處理
  17.         setPageListenerProcess();                     
  18.     }</span>  

step 4: 初始化viewpager控制元件具體程式碼
  1. <span style="font-size:18px;">/* 
  2.      * 初始化ViewPager 
  3.      */
  4.     publicvoid InitViewPager() {  
  5.         //例項化ViewPager
  6.         pager = (ViewPager)findViewById(R.id.viewPagerId);        
  7.         //為viewPager設定內容
  8.         //view是我們放進viewPager裡面的東西,要為它設定好佈局,再放進去
  9.         viewPager_set = LayoutInflater.from(this).inflate(R.layout.setting_control, null);  
  10.         viewPager_data = LayoutInflater.from(this).inflate(R.layout.data_status, null);  
  11.         viewPager_chart = LayoutInflater.from(this).inflate(R.layout.chart_status, null);  
  12.         //這是個ArrayList,加進去了3個view
  13.         viewContainter.add(viewPager_set);  
  14.         viewContainter.add(viewPager_data);  
  15.         viewContainter.add(viewPager_chart);          
  16. 相關推薦

    VB執行一個EXE檔案對EXE視窗的控制元件進行操作

    1,執行一個EXE程式  Dim   mProcID   AsLongmProcID   =   Shell(FileName) 2,把這個EXE程式關閉掉Option   Explicit  Const   PROCESS_QUERY_INFORMATION   =   &

    ViewPager的使用及獲取子view控制元件操作inflate

    Step 1: 佈局檔案中新增viewpager和切換頁面button <span style="font-size:18px;"><RelativeLayout xmlns:android="http://schemas.android.com/apk

    ViewPager動態新增XML佈局檔案獲取XML檔案控制元件ID操作inflate

    Step 1: 佈局檔案中新增viewpager和切換頁面button <spanstyle="font-size:18px;"><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/a

    Android 動態新增textView或EditText獲取輸入資料

    問題引入 Android開發中往往需要動態建立諾幹個同類控制元件,或對他們設定點選事件或批量獲取他們的值,下面提供我在開發中所使用的一種參考。 動態建立多個textView,這裡描述一個頁面取名為:

    Android 在程式動態新增 View 佈局控制元件

    有時我們需要在程式中動態添加布局或控制元件等,下面用程式來展示一下相應的方法: 1、addView 新增View到佈局容器 2、removeView 在佈局容器中刪掉已有的View 3、LayoutParams  設定View的大小位置   下面來看一個demo; pu

    解析xml文件xml文件的資料拼接成insert語句

    education.xml的內容是: <?xml version="1.0" encoding="utf-8"?> <Msg> <Head>   <Id>20140529100039</Id>   <Name&

    C#:讀取html模板檔案替換修改檔案指定值儲存為修改後的檔案

    1.準備html模板檔案:Pages/Device/DeviceModel8.html   2 using System.IO:讀取檔案內容,並替換指定內容                  &nbs

    Unity動態建立的Mesh匯出為Obj模型檔案生成Prefab檔案

    Unity執行時,動態建立的Mesh掛載到MeshFilter元件上,並不能儲存到本地Prefab檔案裡。在執行的場景裡,拖拽正確配置的MeshFilter物件到Unity資源管理器。生成的Prefab檔案,裡面的Mesh物件會missing。所以,我們需要在執行狀態,匯

    Unity3D 動態建立的Mesh匯出為Obj模型檔案生成Prefab檔案

    Unity執行時,動態建立的Mesh掛載到MeshFilter元件上,並不能儲存到本地Prefab檔案裡。在執行的場景裡,拖拽正確配置的MeshFilter物件到Unity資源管理器。生成的Prefab檔案,裡面的Mesh物件會missing。所以,我們需要在執行狀態,匯出

    將tensorflow網路模型圖+權值儲存為.pb檔案從.pb檔案還原網路模型

    工程結構如下: 將網路模型(圖+權值)儲存為.pb檔案  write.py # -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals from tensorflow.

    從表格獲取資料在排序後按順序重新排列表格Javascript

    數字排序出現問題 升序結果出現了一個大的數字反而在小數字的後面 function mySort(arr){ for(var x=0;x<arr.length-1;x++){ for(var y=x+1;y<arr.l

    讀取Excel檔案對Excel檔案進行描述性分析

    > mydata<-read.csv("E:\\╰凝初寒つ\\學習檔案\\大資料概論\\R語言\\soapdata.csv",header=T) > dim(mydata) > mydata<-head(mydata,41) >

    PyQt treewiget新增複選框獲取是否選中

    # -*- coding: utf-8 -*- import sys from PyQt4.QtGui import * from PyQt4.QtCore import * class TreeWidget(QWidget): def __in

    SQL Server事務日誌管理的步驟第5級:完全恢復模式管理日誌

    維護計劃 recover 最小 替代 關心 每日 工作方式 檢查 耗時 SQL Server中事務日誌管理的步驟,第5級:完全恢復模式管理日誌 作者:Tony Davis,2012/01/27 系列 本文是進階系列的一部分:SQL Server中事務日誌管理的步驟 當事情進

    C#呼叫批處理(bat)檔案獲取執行批處理(bat)檔案後返回值

    /// /// 執行BAT檔案 /// /// csv檔案引數 /// bat檔案執行返回值 static string execBAT(string fileName) { ProcessStartInfo pro = new System.Diagnostics.ProcessStartInf

    java打包成jar檔案編寫bat檔案執行

    (1)選中要打包的Java專案,點選選單File-export-JARFile (2)點選“Next“,按照需求選擇所要打包的內容及格式,點選“Browse”選擇jar包所在的目錄…點選”Next” 點選完成。 (3)在本地的jdk環境進行測試,

    使用Android內部的DownloadProvider下載檔案獲取cache許可權 .

    Android內部提供了一個DownloadProvider,是一個非常完整的下載工具,提供了很好的外部介面可以被其他應用程式呼叫,來完成下載工作。同時也提供和很好的下載、通知、儲存等機制。 在Android的Browser等工具裡面都用到了這個DownloadProvid

    jquery動態新增以及遍歷option獲取特定樣式名稱的option

    <pre name="code" class="html"><script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script> &l

    opencv讀取視訊檔案將視訊檔案儲存為圖片

    #include <iostream> #include <windows.h> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp