當前位置:首頁 » 安卓系統 » 安卓中什麼是選項卡組件

安卓中什麼是選項卡組件

發布時間: 2023-04-18 16:44:24

Ⅰ 關於Android界面組件的基本用法

1.文本框(TextView)和編輯框(EditText)
文本框(TextView)不允許用戶編輯文本內容,而編輯框(EditText)允許用戶編輯文本內容

2.按鈕(Button)和圖片按鈕(ImageButton)
Button顯示文字,ImageButton顯示圖片。
為ImageButton指定android:text屬性沒用,不會顯示文字
可以指定android:background為按鈕增加背景圖片,但這圖片是固定的
可以指定android:src為圖片按鈕增加圖片屬性
其實,src才是設置圖標,而background只是設置背景。
如果控制項的大小是100 100 圖片資源是80 80的話,那麼用src,圖片就會居中顯示,如果使用background那麼圖片就會被拉伸充滿控制項。
重要的是,background是底層的圖片資源,src是覆蓋在background上面的資源,他們可以疊加使用,實現選中的效果。

3.單選按鈕(RadioButton)和復選框(CheckBox)
多了一個android:checked屬性,用於指定初始時是否被選中

4.計時器組件Chronometer用法
紅色字體表示常用的方法

5.圖像視圖(ImageView)
它支持屬性android:scaleType setScaleType(ImageView.ScaleType)

matrix(ImageView.ScaleType.MATRIX):使用matrix方式進行
fixXY(ImageView.ScaleType.FIX_XY):對圖片橫向縱向獨立縮放,會改變縱橫比
fitStart(ImageView.ScaleType.FIT_START):保持縱橫比,圖片較長的邊長與ImageView相應的邊長相等,縮放後放在左上角
fitCenter(ImageView.ScaleType.FIT_CENTER):保持縱橫比,圖片較長的邊長與ImageView相應的邊長相等,縮放後放在中央
fitEnd(ImageView.ScaleType.FIT_END):保持縱橫比,圖片較長的邊長與ImageView相應的邊長相等,縮放後放在右下角
center(ImageView.ScaleType.CENTER):放中間,不縮放
centerCrop(ImageView.ScaleType.CENTER_CROP):保持縱橫比,使圖片能完全覆蓋ImageView
centerInside(ImageView.ScaleType.CENTER_INSIDE):保持縱橫比,使ImageView能完全顯示圖片
6.spinner的功能和用法
如果可以確定spinner裡面的列表項,那麼直接在/res/layout/main.xml裡面指定

然後在/res/value/string.xml裡面指定

如果不確定裡面的列表項,那麼必須要提供一個Adapter,這個Adapter負責決定Spinner列表每項的內容

7.日期、時間選擇器(DatePicker和TimePicker)

8.自動完成文本框(AutoCompleteTextView)
比普通文本框多了一個功能:當用戶輸入一定字元後,自動完成文本框會顯示一個下拉菜單,供用戶從中選擇,當用戶選擇某個菜單後,組件會按用戶選擇自動填寫該文本框
使用該組件很簡單,只要為它設置一個Adapter,該Adapter封裝了AutoCompleteTextView預設的提示文本

9.進度條(ProgressBar)
通過style屬性可以為ProgressBar指定風格。該屬性可以有如下的屬性值:

1.@android:style/Widget.ProgressBar.Horizontal 水平進度條
2.@android:style/Widget.ProgressBar.Inverse 不斷跳躍、旋轉畫面的進度條
3.@android:style/Widget.ProgressBar.Large 大進度條
4.@android:style/Widget.ProgressBar.Large.Inverse不斷跳躍、旋轉畫面的大進度條
5.@android:style/Widget.ProgressBar.Small 小進度條
6.@android:style/Widget.ProgressBar.Small.Inverse不斷跳躍、旋轉畫面的小進度條
ProgressBar提供如下方法來操作進度

1.setProgress(int) 設置進度的完成百分比
2.incrementProgressBy(int) 設置進度條的增加或減少。參數為正增加,參數為負減少

10.選項卡(TabHost)
TabHost僅僅只是一個簡單的容器,它提供如下方法

1.newTabSpec(String tag) 創建選項卡
2.addTab(TabHost.TabSpec tabSpec) 添加選項卡
使用TabHost的一般步驟為:

• A. 在界面中定義TabHost組件,並為該組件定義該選項卡的內容
• B. Activity應該繼承TabActivity
• C. 調用TabActivity的getTabHost()來獲取TabHost對象
• D. 通過TabHost對象的方法來創建選項卡、添加選項卡
選項卡主要由TabHost、TabWidget、FrameLayout3個組件組成,三者缺一不可,想像一下選項卡的特點,多個卡重疊在一起,所以用FrameLayout即幀布局是必要的。另外需要注意的是TabHost、TabWidget、FrameLayout三個組件的android:id必須使用系統默認的名稱,而不能自己隨意定義,否則會出錯。

11.圖像切換器(ImageSwitcher)

12.網格視圖(GridView)
使用GridView一般指定numColumn大於1,否則取默認值為1.那麼GridView就變成了ListView
屬性android:stretchMode支持如下屬性

1.none 不拉伸
2.spacingWidth 僅拉伸元素之間的間距
3.spacingWidthUniform 表格、元素之間的間距一起拉伸
4.columnWidth 僅拉伸表格
13.畫廊視圖(Gallery)(現在已經被棄用了,不過還是列出來吧)
Gallery用法很簡單——為它提供一個內容Adapter,該Adapter的getView方法所返回的View可作為Gallery的列表項。可以通過OnItemSelectedListener監聽選擇項的改變

14.列表試圖(ListView和ListActivity)
1.創建ListView由兩種方式:

2.直接使用ListView進行創建
讓Activity繼承ListActivity(繼承了ListActivity的類無需調用setContentView()來顯示頁面,可以直接設置適配器)
一旦獲得ListView後,就要創建顯示的列表項了。需要藉助內容Adapter,內容Adapter負責提供需要顯示的列表項

創建ArrayAdapter時必須指定一個textViewResourceId,該參數決定每個列表項的外觀

1.simple_list_item_1 每個列表項是普通的TextView
2.simple_list_item_2 每個列表項是普通的TextView(字體略大)
3.simple_list_item_checked 每個列表項是已勾選的列表項
4.simple_list_item_multiple_choice 每個列表項是帶多選框的文本
5.simple_list_item_single_choice 每個列表項是帶多單選按鈕的文本
15.使用AlertDialog
1.創建AlertDialog.Builder對象,該對象是AlertDialog的創建器
2.調用AlertDialog.Builder方法為對話框設置圖標、標題等
3.調用AlertDialog.Builder的create()方法創建AlertDialog對話框
4.調用AlertDialog的show()方法顯示對話框

16.使用Toast顯示提示框
步驟如下:

• 調用Toast構造器或makeText方法創建Toast對象
• 調用Toast方法來設置該消息的對齊方式等
• 調用Toast的show()方法顯示出來
• Toast toast = Toast.makeText(ToastTest.this, "信息", Toast.LENGTH_LONG).show();

17.Notification(一般顯示網路狀態、電池狀態、時間等)
使用Notification發送Notification步驟:

• 調用getSystemService(NOTIFICATION_SERVICE)方法獲取系統的Notification Manager服務
• 通過構造器創建一個Notification對象
• 為Notification設置屬性
• 通過Notification Manager發送Notification

Ⅱ APP設計中的選項卡式(tab)導航

在我們的產品中,導航起到了舉足輕重的作遲早用。導航相信大家都不陌生,它可以讓我們知道「我現在在哪裡」「我可以去哪裡」「我怎麼去目的地」。在手機端裡面,導航尤為重要。 因為手機的尺寸問題,在設計手機網站或APP的時候,比起web端的需要考慮的更周全, 盡量保持簡約和易用性高 。

選項卡式(tab)導航 可以說是最常見的導航了,尤其是APP。大部分的APP都採用這種導航模式作為主導航,有時也會將tab導航和其他的導航模式配合,作為次級導航使用。下面我們就一起來看看選項卡式(tab)導航具體是怎樣的。

(1) 底部選項卡導航

底部導航是最常見的主導航模式,且這是符合拇指熱區操作的一種導航模式。當在這個APP中有幾個模塊信息對用戶來說是 功能性和使用頻率相似, 並且支持使用者第一時間獲取重要性最高、頻率最大的信息或任務 ,同時用戶可以在不慧迅同模塊、信息或者任務之間進行快速的切換。

在使用這種導航時要注意,由於尺寸的限制,tab的數量最多不要超過 5個 。如果超過5個的話,而且實在不能做出取捨的話,一般的做法是最後一個標簽是 「更多」 ,將其他的tab放在「更多」中。

2) 頂 部選項卡導航

  頂部菜單和底部意義差不多,把菜單放在頂部,可以遵循上至下的閱讀習慣。但是頂部導航比較難進行單手操作,畢竟我們的手指沒有那麼長。

(3) 固定選項卡

  固定選項卡,顧名思義, 選項卡的位置和數量 是固定的,這個大家可以看一下上面的例子,例如網易雲音樂。它的tab數量是4個,每個tab的位置都會固定的。

固定選項卡是安卓系統提供的三種頂級導航方式之一。它能夠扁平化整個信息結構,並且支持左右滑動切換到不同的視圖。 如果 需要經常切換視圖 , 內容視圖有限 或者需要 讓用戶清楚地知道可供選擇的視圖 ,這幾種情況下可以使用固定選項卡。

(4)滾動選項卡

  一般滾動選項卡要比固定選項卡要 窄 ,一個模塊中可以顯示多個(超過5個)類別的視圖,並且還可以進行擴展以及自定義展示(多用在頻道/模塊定製中),同樣可以左右滑動切換不同類別的視圖。

滾動選項卡比固定選項卡使用上 更靈活 。它可以顯示更多的選項,可以更多重要性和使用頻率處於同一級別的功能模塊、信息或者任務。同時用戶可以通過左右滑動切換,展示更多的選項,這也是它為什麼叫滾動選項卡的原因。

我們對選項卡式(tab)導航做了一個簡單的分類。 我們在實際使用中經常是不同的導航配合使用 ,比如碼碧雀一直播(上方的圖片),就將底部選項卡式導航和滾動選項卡式導航結合使用。知道了每種類型的使用場景之後,就可以根據自己的需要使用其中的一種或者幾種,同時也可以與除選項卡式導航的其它導航共同使用。一切為了自己的產品!

轉自,作者陪學;

Ⅲ android中tab選項卡怎麼做

第一步
res/values/strings.xml

[xhtml] view plain
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, MyTabActivity!</string>
<string name="app_name">選項卡Demo</string>
<string name="andy">Andy Rubin--<a href="http://lib.csdn.net/base/15" class='replace_word' title="undefined" target='_blank' style='color:#df3434; font-weight:bold;'>Android</a>的創造者</string>
<string name="bill">Bill Joy--java的創造者</string>
<string name="torvalds">Linus Torvalds --Linux之父</string>
</resources>

第二步
res/layout/tab_layout.xml

[xhtml] view plain
<?xml version="1.0" encoding="utf-8"?>
<!--
FrameLayout:一個FrameLayout對象好比一塊在屏幕上提前預定好的空白區域,
然後可以填充一些元素到里邊,比方說一張圖片等。
需要注意的是所有元素都被放置在FrameLayout區域的左上的區域,
而且無法為這些元素指定一個確切的位置。如果有多個元素,則後邊的會重疊在前一個元素上。

android:gravity用於設置View組件的對齊方式
(另外,android:layout_gravity用於設置Container組件的對齊方式)
center_horizontal 不改變控制項大小,對其到容器橫向中間位置(也就是在豎直方向的中間)

android:scaleType="fitXY" 把圖片不按比例來擴大或者縮小顯示
-->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:id="@+id/linearLayout1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
>
<ImageView
android:id="@+id/imageView01"
android:layout_gravity="center"
android:scaleType="fitXY"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/andy"/>
<TextView
android:id="@+id/testView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dip"
android:text="@string/andy"
/>
</LinearLayout>

<LinearLayout android:id="@+id/linearLayout2"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
>
<ImageView
android:id="@+id/imageView02"
android:layout_gravity="center"
android:scaleType="fitXY"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/bill"/>
<TextView
android:id="@+id/testView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dip"
android:text="@string/bill"
/>
</LinearLayout>

<LinearLayout android:id="@+id/linearLayout3"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
>
<ImageView
android:id="@+id/imageView03"
android:layout_gravity="center"
android:scaleType="fitXY"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/torvalds"/>
<TextView
android:id="@+id/testView03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20dip"
android:text="@string/torvalds"
/>
</LinearLayout>
</FrameLayout>

第三步
src/com/myandroid/tab/MyTabActivity.java

[java] view plain
package com.myandroid.tab;

import android.app.TabActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.TabHost;

public class MyTabActivity extends TabActivity {

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TabHost tabHost = this.getTabHost();
/*
* LayoutInflater的作用類似於 findViewById(),
* 不同點是LayoutInflater是用來找layout文件夾下的xml布局文件,並且實例化
* 註:findViewById()只是找控制項之類(如Button和EditView)
*
* LayoutInflater.from(this)獲得context實例
* 也就是相當於this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
* LAYOUT_INFLATER_SERVICE 取得xml里定義的view
*-----------------------------------------------------------------------
* getSystemService:
* 根據傳入的NAME來取得對應的Object,然後轉換成相應的服務對象
* android的後台運行在很多service,
* 它們在系統啟動時被SystemServer開啟,支持系統的正常工作,
* 比如MountService監聽是否有SD卡安裝及移除,ClipboardService提供剪切板功能,
* 應用程序可以通過系統提供的Manager介面來訪問這些Service提供的數據
*-----------------------------------------------------------------------
*
* inflate是把xml表述的layout轉化為View
* tabHost.getTabContentView() 獲得Tab標簽頁的FrameLayout
* true表示將inflate綁定到根布局元素上
*/
LayoutInflater.from(this)
.inflate(R.layout.tab_layout,
tabHost.getTabContentView(), true);

/*
* tabHost.newTabSpec("Tab1") 創建TabHost.TabSpec,
* TabSpec即是選項卡的指示符,對於TabSpec可以設置一個標題或者設置一個標題和圖標
* setIndicator 是為選項卡指示符指定一個標簽和圖標
* setContent 為選項卡的內容指定視圖的ID
*/
tabHost.addTab(
tabHost.newTabSpec("Tab1")
.setIndicator("Tab1", getResources().getDrawable(R.drawable.png1)
).setContent(R.id.linearLayout1)
);
tabHost.addTab(
tabHost.newTabSpec("Tab2")
.setIndicator("Tab2", getResources().getDrawable(R.drawable.png2)
).setContent(R.id.linearLayout2)
);
tabHost.addTab(
tabHost.newTabSpec("Tab3")
.setIndicator("Tab3", getResources().getDrawable(R.drawable.png3)
).setContent(R.id.linearLayout3)
);
}

}

第四步
AndroidManifest.xml

[xhtml] view plain
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myandroid.tab"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MyTabActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

</application>
<uses-sdk android:minSdkVersion="8" />
</manifest>

附上出處鏈接:http://blog.csdn.net/jamesliulyc/article/details/6324432

Ⅳ 安卓應用開發中的組件和控制項有什麼區別,能不能分別講解一下

控制項:是編程中使用的,比如按鈕、窗口等都是控制項。
組件:是軟體的一部兆派鬧分族罩.軟體的組成部分,控制項是具有用戶界面功羨衡能的組件.

Ⅳ 學了這么久的安卓,還是不懂安卓中的組件是什麼意思請高手指點。

其實組件就是現實虧圓中的零件一樣。做安卓應用是把組件改裝成合適的樣子拼接銷行塌成產品,做手機是把零件帶逗打磨成樣式,組裝起來。也沒有那麼復雜啦

Ⅵ bootstrap中tooltip提示框的樣式怎麼改

Bootstrap框凳滑架中的選項卡主要有兩部分內容組成: 選項卡組件(也就是菜單敬粗消組件),對應的是亮知 Bootstrap的 nav-tabs) 底部可以切換的選項卡面板,在 Bootstrap 中通常 tab-pane 來表示. 例用jquery更改bootstrap彈出框:

熱點內容
配置控制台干什麼用的 發布:2025-07-05 10:54:51 瀏覽:958
連信從哪裡改登錄密碼 發布:2025-07-05 10:54:12 瀏覽:396
怎麼修改查詢密碼 發布:2025-07-05 10:49:48 瀏覽:964
matlab文件存儲 發布:2025-07-05 10:40:46 瀏覽:84
梅州市用工實名制管理平台雲存儲 發布:2025-07-05 10:28:59 瀏覽:76
安卓origin怎麼設置 發布:2025-07-05 10:20:10 瀏覽:540
安卓為什麼跳水 發布:2025-07-05 09:55:08 瀏覽:88
達內學校php 發布:2025-07-05 09:52:05 瀏覽:399
獲取資料庫所有表 發布:2025-07-05 09:39:12 瀏覽:654
wcfphp 發布:2025-07-05 09:39:07 瀏覽:178