今天回来的太晚了,晚上去K歌了。发现现在生活太萎靡了,虽然没有烂醉,但是也嗨的嗓子不舒服啊。好了不啰嗦了,直接上代码。2013年2月26日23:46:50
今晚的TabHost只能贴出部分代码了,因为我还没有写完成。这个分成两部分写吧。
TabHost主activity:MainActivity,里面包含了两个ActivityGroup,分别为OneGroupActivity和TwoActivity;另外OneGroupActivity里面包含里两个activity。
MainActivity.java
package com.lianjiao.sport.activity;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.app.TabActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.View;
import android.view.Window;
import android.widget.TabHost;
import android.widget.TabHost.OnTabChangeListener;
import android.widget.TabHost.TabSpec;
import android.widget.TextView;
import com.lianjiao.sport.R;
import com.lianjiao.sport.activity.tabHostActivity.OneGroupActivity;
import com.lianjiao.sport.activity.tabHostActivity.TwoGroupActivity;
@SuppressWarnings("deprecation")
public class MainActivity extends TabActivity {
private TabHost m_tabHost;
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectAll() // or .detectAll() for all detectable problems
.penaltyLog()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects()
.detectLeakedClosableObjects()
.penaltyLog()
.penaltyDeath()
.build());
//隐去标题栏(应用程序的名字)
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
com.lianjiao.sport.activity.GlobalVariable.context=this;
//getTabHost返回的TabHost用于装载tabs
m_tabHost= getTabHost();
//addtabs,这里用于添加具体的Tabs,并用Tab触发相应的Activity
addOneTab();
addTwoTab();
//初始化设置一次标签背景
updateTabBackground(m_tabHost);
// m_tabHost.setCurrentTab(1);//0-3
m_tabHost.setOnTabChangedListener(new OnTabChangeListener() {
public void onTabChanged(String tabId) {
updateTabBackground(m_tabHost);
}
});
//选择时背景更改。
}
public TabHost getM_tabHost() {
return m_tabHost;
}
public void setM_tabHost(TabHost m_tabHost) {
this.m_tabHost = m_tabHost;
}
@Override
public void finish() {
// 确认对话框
//System.out.println("退出程序!!!!!");
final AlertDialog isExit = new AlertDialog.Builder(this).create();
// 对话框标题
isExit.setTitle(R.string.sys_info);
// 对话框消息
isExit.setMessage(this.getString(R.string.is_exit));
// 实例化对话框上的按钮点击事件监听
DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case AlertDialog.BUTTON1:// "确认"按钮退出程序
System.exit(0);
break;
case AlertDialog.BUTTON2:// "取消"第二个按钮取消对话框
isExit.cancel();
break;
default:
break;
}
}
};
// 注册监听
isExit.setButton(this.getString(R.string.ok), listener);
isExit.setButton2(this.getString(R.string.cancle), listener);
// 显示对话框
isExit.show();
}
/**
* 更新Tab标签的背景图
* @param tabHost
*/
private void updateTabBackground(final TabHost tabHost) {
for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
View vvv = tabHost.getTabWidget().getChildAt(i);
vvv.setMinimumWidth(500);
if (tabHost.getCurrentTab() == i) {
//选中后的背景
vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.nav_button_fourse));
} else {
//非选择的背景
vvv.setBackgroundDrawable(getResources().getDrawable(R.drawable.nav_button_unfourse));
}
}
}
public void addOneTab(){
Intent intent = new Intent();
intent.setClass(MainActivity.this,OneGroupActivity.class);
TabSpec spec = m_tabHost.newTabSpec("One");
TextView t1 = new TextView(this);
t1.setText(R.string.one);
t1.setTextSize(30);
t1.setPadding(10, 10, 10, 10);
spec.setIndicator(t1);
//spec.setIndicator(getString(R.string.one),null);
spec.setContent(intent);
m_tabHost.addTab(spec);
}
public void addTwoTab(){
Intent intent = new Intent();
intent.setClass(MainActivity.this,TwoGroupActivity.class);
TabSpec spec = m_tabHost.newTabSpec("Two");
TextView t2 = new TextView(this);
t2.setText(R.string.two);
t2.setTextSize(30);
t2.setPadding(10, 10, 10, 10);
spec.setIndicator(t2);
spec.setContent(intent);
m_tabHost.addTab(spec);
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<TabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:background="@drawable/tab_background"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:background="@drawable/nav_background"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/cancle"
android:background="@drawable/nav_buttonbackground"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginLeft="20dp"
android:text="weizhi" />
<TabWidget
android:id="@android:id/tabs"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_marginLeft="350dp"
android:paddingTop="2dip" >
</TabWidget>
<Button
android:id="@+id/cancle1"
android:background="@drawable/nav_buttonbackground"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginLeft="400dp"
android:text="lianjiao" />
</LinearLayout>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
/>
</LinearLayout>
</TabHost>
明天加个班把代码贴完,并贴出效果图吧。现在做的这些都是一些初步的框架,对于传感器的使用我还是比较薄弱的。最近也要加紧练习了。现在等于说完全是在整理老代码,说来也怪,最近每天晚上都有一些事情,耽搁了。万物安!