diff --git a/samples/ApiDemos/AndroidManifest.xml b/samples/ApiDemos/AndroidManifest.xml index 6d533c548..48ced9f3a 100644 --- a/samples/ApiDemos/AndroidManifest.xml +++ b/samples/ApiDemos/AndroidManifest.xml @@ -1102,21 +1102,43 @@ - + - + - + + + + + + + + + + + + + + + + + + + + + + @@ -1214,27 +1236,6 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/samples/ApiDemos/res/layout/tabs_right_gravity.xml b/samples/ApiDemos/res/layout/tabs_right_gravity.xml new file mode 100644 index 000000000..56e9ca311 --- /dev/null +++ b/samples/ApiDemos/res/layout/tabs_right_gravity.xml @@ -0,0 +1,37 @@ + + + + + + + + + diff --git a/samples/ApiDemos/res/layout/tabs_scroll.xml b/samples/ApiDemos/res/layout/tabs_scroll.xml new file mode 100644 index 000000000..add7484bd --- /dev/null +++ b/samples/ApiDemos/res/layout/tabs_scroll.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + diff --git a/samples/ApiDemos/src/com/example/android/apis/view/Tabs2.java b/samples/ApiDemos/src/com/example/android/apis/view/Tabs2.java index 795a86b9a..f52a8c5a2 100644 --- a/samples/ApiDemos/src/com/example/android/apis/view/Tabs2.java +++ b/samples/ApiDemos/src/com/example/android/apis/view/Tabs2.java @@ -16,12 +16,13 @@ package com.example.android.apis.view; +import com.example.android.apis.R; + import android.app.TabActivity; import android.os.Bundle; +import android.view.View; import android.widget.TabHost; import android.widget.TextView; -import android.view.View; -import com.example.android.apis.R; /** * Example of using a tab content factory for the content via {@link TabHost.TabSpec#setContent(android.widget.TabHost.TabContentFactory)} diff --git a/samples/ApiDemos/src/com/example/android/apis/view/Tabs4.java b/samples/ApiDemos/src/com/example/android/apis/view/Tabs4.java new file mode 100644 index 000000000..fed727595 --- /dev/null +++ b/samples/ApiDemos/src/com/example/android/apis/view/Tabs4.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.android.apis.view; + + +/** + * Identical to Tabs2. The change is in the theme used in the manifest file. + */ +public class Tabs4 extends Tabs2 {} diff --git a/samples/ApiDemos/src/com/example/android/apis/view/Tabs5.java b/samples/ApiDemos/src/com/example/android/apis/view/Tabs5.java new file mode 100644 index 000000000..8329df5ad --- /dev/null +++ b/samples/ApiDemos/src/com/example/android/apis/view/Tabs5.java @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.android.apis.view; + +import com.example.android.apis.R; + +import android.app.TabActivity; +import android.os.Bundle; +import android.view.View; +import android.widget.TabHost; +import android.widget.TextView; + +/** + * Demonstrates the Tab scrolling when too many tabs are displayed to fit in the screen. + */ +public class Tabs5 extends TabActivity implements TabHost.TabContentFactory { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.tabs_scroll); + + final TabHost tabHost = getTabHost(); + + for (int i=1; i <= 30; i++) { + String name = "Tab " + i; + tabHost.addTab(tabHost.newTabSpec(name) + .setIndicator(name) + .setContent(this)); + } + } + + /** {@inheritDoc} */ + public View createTabContent(String tag) { + final TextView tv = new TextView(this); + tv.setText("Content for tab with tag " + tag); + return tv; + } +} diff --git a/samples/ApiDemos/src/com/example/android/apis/view/Tabs6.java b/samples/ApiDemos/src/com/example/android/apis/view/Tabs6.java new file mode 100644 index 000000000..253aebde3 --- /dev/null +++ b/samples/ApiDemos/src/com/example/android/apis/view/Tabs6.java @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.android.apis.view; + +import com.example.android.apis.R; + +import android.app.TabActivity; +import android.os.Bundle; +import android.view.View; +import android.widget.TabHost; +import android.widget.TextView; + +/** + * Uses a right gravity for the TabWidget. + */ +public class Tabs6 extends TabActivity implements TabHost.TabContentFactory { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.tabs_right_gravity); + + final TabHost tabHost = getTabHost(); + tabHost.addTab(tabHost.newTabSpec("tab1") + .setIndicator("tab1", getResources().getDrawable(R.drawable.star_big_on)) + .setContent(this)); + tabHost.addTab(tabHost.newTabSpec("tab2") + .setIndicator("tab2") + .setContent(this)); + tabHost.addTab(tabHost.newTabSpec("tab3") + .setIndicator("tab3") + .setContent(this)); + } + + public View createTabContent(String tag) { + final TextView tv = new TextView(this); + tv.setText("Content for tab with tag " + tag); + return tv; + } +}