栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将标签栏底部设置在android所有活动上

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将标签栏底部设置在android所有活动上

请在下面的代码而不是您的代码中编写代码,以便在一个TabActivity中添加多个活动,这将解决您的问题。

ActivityStack.java

public class ActivityStack extends ActivityGroup {private Stack<String> stack;@Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    if (stack == null)        stack = new Stack<String>();    // start default activity    push("FirstStackActivity", new Intent(this, Tab_SampleActivity.class));}@Overridepublic void finishFromChild(Activity child) {    pop();}@Overridepublic void onBackPressed() {    pop();}public void push(String id, Intent intent) {    Window window = getLocalActivityManager().startActivity(id, intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));    if (window != null) {        stack.push(id);        setContentView(window.getDecorView());    }}public void pop() {    if (stack.size() == 1)        finish();    LocalActivityManager manager = getLocalActivityManager();    manager.destroyActivity(stack.pop(), true);    if (stack.size() > 0) {        Intent lastIntent = manager.getActivity(stack.peek()).getIntent();        Window newWindow = manager.startActivity(stack.peek(), lastIntent);        setContentView(newWindow.getDecorView());    }}}

TabActivity.java

public class TabActivity extends TabActivity {        @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.tab_screen);        TabHost tabHost = getTabHost();        Intent intent = new Intent().setClass(this, ActivityStack.class);        TabHost.TabSpec spec = tabHost.newTabSpec("tabId").setIndicator("Temp", getResources().getDrawable(R.drawable.home));        spec.setContent(intent);        tabHost.addTab(spec);        Intent intent1 = new Intent().setClass(this, ActivityStack.class);        TabHost.TabSpec spec1 = tabHost.newTabSpec("tabId").setIndicator("Temp", getResources().getDrawable(R.drawable.invoice));        spec1.setContent(intent1);        tabHost.addTab(spec1);        tabHost.setCurrentTab(0);    }}

FirstActivity.java

public class FirstActivity extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        TextView textView = new TextView(this);        textView.setText("Tab Sample Activity ");        textView.setonClickListener(new View.onClickListener() { @Override public void onClick(View v) {     Intent intent = new Intent();     intent.setClass(getParent(), SecondActivity.class);     ActivityStack activityStack = (ActivityStack) getParent();     activityStack.push("SecondActivity", intent); }        });        setContentView(textView);    }}

SecondActivity.java

public class SecondActivity extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        TextView textView = new TextView(this);        textView.setText("First Stack Activity ");        textView.setonClickListener(new View.onClickListener() { @Override public void onClick(View v) {     Intent intent = new Intent();     intent.setClass(getParent(), ThirdActivity.class);     ActivityStack activityStack = (ActivityStack) getParent();     activityStack.push("ThirdActivity", intent); }        });        setContentView(textView);    }}

ThirdActivity.java

public class ThirdActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        setContentView(R.layout.main);    }}

将以下XML文件添加到res / layout文件夹中。

1)tab_screen.xml

<?xml version="1.0" encoding="utf-8"?><TabHost xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@android:id/tabhost"    android:layout_width="fill_parent"    android:layout_height="fill_parent" >    <RelativeLayout        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:orientation="vertical"        android:padding="3dp" >        <frameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_above="@android:id/tabs" android:layout_weight="1" />        <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" />    </RelativeLayout></TabHost>

2)main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/hello" /></LinearLayout>

AndroidManifest.xml:-

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.android.tabsample"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk android:minSdkVersion="8" />    <application        android:icon="@drawable/ic_launcher"        android:label="@string/app_name" >        <activity android:name=".FirstActivity" android:label="@string/app_name" > <intent-filter>     <action android:name="android.intent.action.MAIN" />     <category android:name="android.intent.category.DEFAULT" /> </intent-filter>        </activity>        <activity android:name=".TabActivity" android:label="@string/app_name" > <intent-filter>     <action android:name="android.intent.action.MAIN" />     <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>        </activity>        <activity android:name=".ActivityStack" android:label="@string/app_name" > <intent-filter>     <action android:name="android.intent.action.MAIN" />     <category android:name="android.intent.category.DEFAULT" /> </intent-filter>        </activity>        <activity android:name=".SecondActivity" android:label="@string/app_name" > <intent-filter>     <action android:name="android.intent.action.MAIN" />     <category android:name="android.intent.category.DEFAULT" /> </intent-filter>        </activity>        <activity android:name=".ThirdActivity" android:label="@string/app_name" > <intent-filter>     <action android:name="android.intent.action.MAIN" />     <category android:name="android.intent.category.DEFAULT" /> </intent-filter>        </activity>    </application></manifest>

并请参见下面的链接,以获取有关在一个TabActivity下添加多个活动以及完整示例的更多信息。

Android-
一个TabActivity下的多个Android活动



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407162.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号