2009-06-05 6 views
5

Мне нужен образец кода для создания TabHost в android. Может кто-нибудь мне помочь.может ли кто-нибудь дать пример кода для TabHost в Android?

+1

Ответы на [этот вопрос] (http://stackoverflow.com/questions/2209406/issues-with-android-tabhost-example) содержат список всех проблем с образцом кода и обходные методы, найденный. – cdonner

+0

этот урок может помочь вам http://learnncode.wordpress.com/2013/12/18/how-to-use-tabwidget-with-fragments/ – Prachi

ответ

7

Сайт разработчика Android имеет отличный отработанный образец кода для создания вкладок на Android с использованием TabWidget и TabHost.

Отъезд Hello, TabWidget.

+2

что заставляет меня думать о своих примерах? Что они не содержат всю необходимую информацию. Возьмите строку «mTabHost = getTabHost();» например, - нет предварительной ссылки на или описание «mTabHost». И в их другом примере вкладки есть опечатки, которые не позволяют компиляции. И когда он скомпилирован, это «свалки ядра». – KevinDTimm

2

я сделал tabhost связанного код с относительно отображающей оценки

TabHost host = getTabHost(); 
    host.setup(); 

    TabSpec allScoresTab = host.newTabSpec("allTab"); 
    allScoresTab.setIndicator(getResources().getString(R.string.all_scores), getResources().getDrawable(android.R.drawable.star_on)); 
    allScoresTab.setContent(R.id.ScrollViewAllScores); 
    host.addTab(allScoresTab); 

    TabSpec friendScoresTab = host.newTabSpec("friendsTab"); 
    friendScoresTab.setIndicator(getResources().getString(R.string.friends_scores), getResources().getDrawable(android.R.drawable.star_on)); 
    friendScoresTab.setContent(R.id.ScrollViewFriendScores); 
    host.addTab(friendScoresTab); 

    host.setCurrentTabByTag("allTab"); 

Моего XML содержит:

<?xml version="1.0" encoding="UTF-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/bkgrnd"> 
    <RelativeLayout 
     android:id="@+id/RelativeLayout01" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
     <ImageView 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/ImageView_Header" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/quizicon" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true"> 
     </ImageView> 
     <TextView 
      android:id="@+id/TextView01" 
      android:layout_height="wrap_content" 
      android:text="@string/scores" 
      android:textSize="@dimen/screen_title_size" 
      android:shadowDx="0" 
      android:shadowDy="0" 
      android:shadowRadius="10" 
      android:layout_width="wrap_content" 
      android:layout_gravity="fill_horizontal|center" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:shadowColor="@android:color/white" 
      android:textColor="@color/title_color"> 
     </TextView> 
     <ImageView 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/ImageView_Header2" 
      android:layout_height="wrap_content" 
      android:src="@drawable/quizicon" 
      android:layout_gravity="right|center_vertical" 
      android:layout_width="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentTop="true"> 
     </ImageView> 
    </RelativeLayout> 
    <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"> 
    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" /> 
     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 
      <ScrollView android:id="@+id/ScrollViewAllScores" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="vertical"> 
    <TableLayout android:id="@+id/TableLayout_AllScores" android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="*" /> 
    </ScrollView> 
- <ScrollView android:id="@+id/ScrollViewFriendScores" android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="vertical"> 
    <TableLayout android:id="@+id/TableLayout_FriendScores" android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="*" /> 
    </ScrollView> 
     </FrameLayout> 
    </LinearLayout> 
</TabHost> 
</LinearLayout> 
0

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:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_above="@+id/scroll" /> 

     <HorizontalScrollView 
      android:id="@+id/scroll" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:scrollbars="none" 
      android:layout_alignParentBottom="true" > 

      <TabWidget 
       android:id="@android:id/tabs" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/tabs_bg" /> 
     </HorizontalScrollView> 
    </RelativeLayout> 

</TabHost> 

и Java-код

TabHost tabHost = getTabHost(); 

     TabSpec spec; 

     Intent intent; 

     //Home Tab 
     View view1 = LayoutInflater.from(MainActivity.this).inflate(R.layout.home, null); 

     intent = new Intent(MainActivity.this, Firstclass.class); 

     spec = tabHost.newTabSpec("HOME").setIndicator(view1) 
       .setContent(intent); 

     tabHost.addTab(spec); 

     //Calendar Tab 
     View view2 = LayoutInflater.from(MainActivity.this).inflate(R.layout.calendar_tab, null); 

     intent = new Intent(MainActivity.this, Calendar.class); 

     spec = tabHost.newTabSpec("CALENDAR").setIndicator(view2) 
       .setContent(intent); 

     tabHost.addTab(spec); 
0

Рез/макет/activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".MainActivity"> 

<TabHost 
    android:id="@+id/tabHost" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"></TabWidget> 

     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

      <LinearLayout 
       android:id="@+id/tab1" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:background="#ffc916" 
       android:orientation="vertical"> 

       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:text="This is tab 1" /> 

      </LinearLayout> 

      <LinearLayout 
       android:id="@+id/tab2" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:background="#da8200" 
       android:orientation="vertical"> 

       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:text="This is tab 2" /> 
      </LinearLayout> 

      <LinearLayout 
       android:id="@+id/tab3" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:background="#5b89ff" 
       android:orientation="vertical"> 

       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:text="This is tab 3" /> 
      </LinearLayout> 
     </FrameLayout> 
    </LinearLayout> 
</TabHost> 

SRC/MainActivity.java

public class MainActivity extends AppCompatActivity { 
TabHost tabHost; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    TabHost host = (TabHost)findViewById(R.id.tabHost); 
    host.setup(); 

    //Tab 1 
    TabHost.TabSpec spec = host.newTabSpec("Tab One"); 
    spec.setContent(R.id.tab1); 
    spec.setIndicator("Tab One"); 
    host.addTab(spec); 

    //Tab 2 
    spec = host.newTabSpec("Tab Two"); 
    spec.setContent(R.id.tab2); 
    spec.setIndicator("Tab Two"); 
    host.addTab(spec); 

    //Tab 3 
    spec = host.newTabSpec("Tab Three"); 
    spec.setContent(R.id.tab3); 
    spec.setIndicator("Tab Three"); 
    host.addTab(spec); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 
} 

Вы можете следующие уроки для помощи

Creating a tabbed UI with TabHost

Android Tab Layout Tutorial

+0

Ответ отредактирован сейчас. – AndroidSter

 Смежные вопросы

  • Нет связанных вопросов^_^