android tabHost佈局之一 繼承TabActivity並以activity佈局
http://blog.csdn.net/chenzheng_java/article/details/6207227
先
檢視下最終效果圖:
再看下程式碼結構:
其中black.gif顧名思義就是一個黑背景圖片,grey.gif就是一張灰色的背景圖片
然後直接上程式碼:
ArtistActivity.java
- package cn.com.tagview;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.TextView;
-
publicclass ArtistActivity
- @Override
- protectedvoid onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- TextView textView = new TextView(this);
- // 該文件將會作為標籤的內容進行顯示
- textView.setText("藝術內容");
- setContentView(textView);
- }
- }
MusicActivity.java
- package cn.com.tagview;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.TextView;
- publicclass MusicActivity extends Activity {
- @Override
- protectedvoid onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
TextView textView = new
- // 該文件將會作為標籤的內容進行顯示
- textView.setText("音樂內容");
- setContentView(textView);
- }
- }
SportActivity.java
- package cn.com.tagview;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.TextView;
- publicclass SportActivity extends Activity {
- @Override
- protectedvoid onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- TextView textView = new TextView(this);
- // 該文件將會作為標籤的內容進行顯示
- textView.setText("運動內容");
- setContentView(textView);
- }
- }
ArtistActivity.java MusicActivity.java SportActivity.java三個activity是用做標籤內容的activity。即當用戶點選相應的標籤時,下邊會顯示相應的activity內容。
ic_tab.xml程式碼
- <?xmlversion="1.0"encoding="utf-8"?>
- <selector
- xmlns:android="http://schemas.android.com/apk/res/android"
- >
- <itemandroid:drawable="@drawable/grey"
- android:state_selected="true"
- ></item>
- <itemandroid:drawable="@drawable/black"
- ></item>
- </selector>
這裡一定要注意ic_tab.xml檔案的位置,是放在res/drawable資料夾下的。有些朋友說怎麼沒有這個資料夾啊,實際上大家看到了我將它放在了drawable-hdpi中了,實際上drawable-hdpi、drawable-ldpi、drawable-mdpi三個資料夾都屬於drawable資料夾的哦。該檔案它規定了,當標籤獲得焦點和失去焦點時,標籤上顯示什麼圖片。
例如本例中,就是當state_selected="true"(當標籤被選中時),顯示@drawable/grey指定的資源圖片。當未被選中時,顯示@drawable/black指定的資源圖片。
tagView.java程式碼:
- package cn.com.tagview;
- import android.app.TabActivity;
- import android.content.Intent;
- import android.content.res.Resources;
- import android.os.Bundle;
- import android.widget.TabHost;
- /**
- * @author chenzheng_Java
- * @description 注意,該類一定要繼承TabActivity
- */
- publicclass TagView extends TabActivity {
- @Override
- publicvoid onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // setContentView(R.layout.main);
- // android程式碼中訪問application資源的一個類
- Resources resources = getResources();
- // 獲取當前activity的標籤,該方法的實現中已經執行了setContentView(com.android.internal.R.layout.tab_content);
- TabHost tabHost = getTabHost();
- // 每一個標籤項
- TabHost.TabSpec spec;
- // 宣告一個意圖,該意圖告訴我們,下一個跳轉到的activity是ArtistActivity。
- Intent intent = new Intent(this, ArtistActivity.class);
- /**
- * tabHost.newTabSpec("artist")建立一個標籤項,其中artist為它的標籤識別符號,相當於jsp頁面標籤的name屬性
- * setIndicator("藝術標籤",resources.getDrawable(R.drawable.ic_tab))設定標籤顯示文字以及標籤上的圖示(該圖示並不是一個圖片,而是一個xml檔案哦)
- * setContent(intent)為當前標籤指定一個意圖
- * tabHost.addTab(spec); 將標籤項新增到標籤中
- */
- spec = tabHost.newTabSpec("artist").setIndicator("藝術標籤",
- resources.getDrawable(R.drawable.ic_tab)).setContent(intent);
- tabHost.addTab(spec);
- Intent intent2 = new Intent(this, MusicActivity.class);
- spec = tabHost.newTabSpec("music").setIndicator("音樂標籤",
- resources.getDrawable(R.drawable.ic_tab)).setContent(intent2);
- tabHost.addTab(spec);
- Intent intent3 = new Intent(this, SportActivity.class);
- spec = tabHost.newTabSpec("sport").setIndicator("體育標籤",
- resources.getDrawable(R.drawable.ic_tab)).setContent(intent3);
- tabHost.addTab(spec);
- // tabHost.setCurrentTabByTag("music");設定第一次開啟時預設顯示的標籤,該引數與tabHost.newTabSpec("music")的引數相同
- tabHost.setCurrentTab(1);//設定第一次開啟時預設顯示的標籤,引數代表其新增到標籤中的順序,位置是從0開始的哦。
- }
- }
AndroidManifest.xml
- <?xmlversion="1.0"encoding="utf-8"?>
- <manifestxmlns:android="http://schemas.android.com/apk/res/android"
- package="cn.com.tagview"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-sdkandroid:minSdkVersion="8"/>
- <applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
- <!-- android:theme="@android:style/Theme.NoTitleBar" 的意思是將系統預設的tag標籤去掉,為咱們自己的標籤空出位置-->
- <activityandroid:name=".TagView"
- android:label="@string/app_name"
- android:theme="@android:style/Theme.NoTitleBar"
- >
- <intent-filter>
- <actionandroid:name="android.intent.action.MAIN"/>
- <categoryandroid:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
- <!-- 在主配置檔案中宣告用於標籤切換的3個activity,記住此處一定要宣告,否則會出錯
- android:name="ArtistActivity"裡面ArtistActivity前面是否有.都可以,你只需要保證該類是在manifest標籤下package屬性的包中即可。
- -->
-
<activityandroid:name="ArtistActivity"android:label
相關推薦
android tabHost佈局之一 繼承TabActivity並以activity佈局
http://blog.csdn.net/chenzheng_java/article/details/6207227 先 檢視下最終效果圖: 再看下程式碼結構: 其中black.gif顧名思義就是一個黑背景圖片,grey.gif就是一張灰色的背景圖片
android tabHost佈局之一 不繼承TabActivity並以佈局檔案進行佈局
上圖為最終效果圖 程式碼結構圖 main.xml <?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com
Android CoordinatorLayout實現多列表切換並和頭佈局聯動;
注意:不是雙列表聯動,是多列表和頭佈局聯動; 大概就是和餓了麼店鋪首頁類似的佈局框架吧,頭佈局顯示時,列表RecyclerView或ScrollView和頭佈局一起滾動,頭佈局完全隱藏後列表再去滾動,可以多個列表切換; 有空再上圖看效果吧; 1、主要的佈局檔案,註釋寫的很清楚; &l
Android 自定義Dialog類,並在Activity中實現按鈕監聽。
實際開發中,經常會用到Dialog,比如退出時候會彈出是否退出,或者還有一些編輯框也會用Dialog實現,效果圖如下: 開發中遇到的問題無非在於如果在Activity中監聽這個Dialog中實現的按鈕,Dialog類如下,在MyDialog這個類中實現了一個LeaveMyDialogLi
Android自定義AlertDialog對話方塊並回傳Activity引數
需求 開發過程總會想要自己設計的對話方塊,有時候還需要在activity獲取對話方塊的一些操作結果。 思路 1.自定義對話方塊,並繼承AlertDialog 2.在自定義對話方塊中,定義一個介面,並宣告一個方法,將操作結果作為方法引數 3.在act
Android從相簿中選擇圖片並作為Activity的背景(主題)
實現邏輯: 首先獲取本地相簿圖片的絕對路徑URL,儲存; 通過圖片的絕對路徑轉成bitmap; 設背景,結束。 許可權: <uses-permission android:
Android自定義View的三種方式:繼承佈局,繼承原生控制元件,繼承View
自定義View非常的常用,也是Android開發的一項基本技能,自定義View有三種方式:繼承佈局,繼承原生控制元件,繼承View。一、繼承佈局先看效果圖:程式碼實現:1.在layout資料夾中建立佈局title_view.xml,這一步根據自己需要寫,本例中的佈局如下:佈
定義點類,並以點類為基類,派生出直線類,從基類中繼承的點的資訊表示直線的中點。
#include<iostream> #include<cmath> using namespace std; class Point //定義座標點類 { public: //定義必要的建構函式 Point(double a=0,d
android之tableLayout佈局之一
// wc和fp兩個屬性,是佈局用的,wc表示wrap_content剛好包含內容,FP則是填充滿父容器 private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT; private final int FP = ViewGro
Android 之自定義佈局(繼承控制元件)
就是繼承已有的控制元件,建立新控制元件,保留繼承的父控制元件的特性,並且還可以引入新特性。下面就以支援橫向滑動刪除列表項的自定義ListView的實現來介紹。 1、建立刪除按鈕佈局delete_btn.xml,這個佈局是在橫向滑動列表項後顯示的: <?xml version="1.0" en
Android實戰技巧之一:文字與佈局(字串變數在資源裡替換)
//別看這個標題挺大,其實這次要說的只是3個小技巧。 //2014.11.7 update 1、字串資源裡變數替換 工作中是拒絕硬編碼的,Android裡會把一些字串等放在xml中當做資源使用,如專案中values下的strings.xml列出了app_name.
Android實戰技巧之一 文字與佈局
//別看這個標題挺大,其實這次要說的只是3個小技巧。//2014.11.7 update1、字串資源裡變數替換工作中是拒絕硬編碼的,android裡會把一些字串等放在xml中當做資源使用,如專案中values下的strings.xml列出了app_name.有些情況是這樣的,程
Android調用相機實現拍照並裁剪圖片,調用手機中的相冊圖片並裁剪圖片
!= findview create 圖片剪裁 顯示 parent 學會 true mfile 在 Android應用中,非常多時候我們須要實現上傳圖片,或者直接調用手機上的拍照功能拍照處理然後直接顯示並上傳功能,以下將講述調用相機拍照處理圖片然後顯示和調用手機相冊中的
python之pygal:擲一個骰子統計次數並以直方圖形式顯示
統計 tle bar any http append 一個 die() title 源碼如下: 1 # pygal包:生成可縮放的矢量圖形文件,可自適應不同尺寸的屏幕顯示 2 # 安裝:python -m pip intall pygal-2.4.0-py2.py3-
Android 簡單案例:繼承BaseAdapter實現Adapter
for ack import apt ret bsp position hang layout import android.view.LayoutInflater; import android.view.View; import android.view.ViewGr
Mysql數據庫一個表字段中存了id,並以逗號分隔,id對應的詳細信息在另一個表中
l數據庫 cat sel left 現在 籃球 sql group 查詢 有兩張表, 一張為愛好表b表 一張為用戶表 u表 u表 id 名稱 愛好Id 1 張三 1,2,3,4 2 李四 2,5 b表 id 名稱 1 打乒乓
把一行數字(readline)讀進List並以科學計數法輸出(write)到文件
readline 而且 write 每一個 inf log print clas split() 主要過程是讀取的時候是一行字符串,需要Strip去除空格等,然後split變成一個List。 註意這時候數據結構是List但是每一個元素是Str性質的。 所以需要map(flo
查找列表中的元素,移動空格 並查找以a或A 為開頭 並以c 結尾的元素
dsw sta for 查找 lec 列表 new 空格 api li = [‘alec‘,‘ aric‘,‘Alex‘,‘Tony‘,‘rain‘]tu = (‘alec‘,‘ aric‘,‘Alex‘,‘Tony‘,‘rain‘)dic = { ‘k1‘:‘ale
關於linux下的date日期,並以日期給文件命名
文件名 lin 有時 腳本 inux 防止 img 完整 日期 在linux的終端中,我們輸入date後會有以下顯示: 然後博主也擴展了一下date的基礎用法: date + “%-”: %y 輸出年份的後2位;%Y 輸出完整年份 %m 輸出月份;%d 輸出日期(天) %
python獲取天氣狀況並以郵件的形式發到目的郵箱
ucc cto size 頻繁 red http borde ble 星期四 python爬取天氣情況 下面為示例代碼: from urllib.request import urlopen from bs4 import BeautifulSoup fr