2013-08-14 2 views
3

Я хотел бы создать вкладку в Android, но на самом деле я не знаю, как создать и
просто скачал несколько видео, но на самом деле это не полезно я TabActivity, к сожалению, это осуждается :( так, что ты мне нужен, чтобы помочь мне спасибо за любые предложенияКак создать вкладку в Android с помощью TabActivity или FragmentActivity

ответ

0

Вы должны установить в FragmentActivity основной класс для запуска фрагментов.

Вы должны использовать класс FragmentTabHost доступный в библиотеке поддержки android.support.v4.app

Класс для использования FragmentTabHost:

public class SampleTabFragment extends Fragment { 

private FragmentTabHost mTabHost; 
public static View view; 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

    // fragment not when container null 
    if (container == null) { 
     return null; 
    } 

    // inflate view from layout 
    view = (LinearLayout) inflater.inflate(R.layout.offer_tabs, container, false); 

    // Setting Up the TabHost 
    mTabHost = (FragmentTabHost) view.findViewById(android.R.id.tabhost); 
    mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.offer_realtabcontent); 

    // For adding a tab divider image 
    mTabHost.getTabWidget().setDividerDrawable(R.drawable.tab_divider); 

    // For Setting up the Tabs with their respective labels 
    mTabHost.addTab(mTabHost.newTabSpec("info").setIndicator(createTabView 
      (mTabHost.getContext(), "INFO")), DetailedOfferFragment.class, null); 
    mTabHost.addTab(mTabHost.newTabSpec("location").setIndicator(createTabView 
      (mTabHost.getContext(), "LOCATION")), LocationFragment.class, null); 

    setRetainInstance(true); 
    return view; 
} 

/***** Method for Custom TextView for Tabs *****/ 
private static View createTabView(final Context context, final String text) { 
    View view = LayoutInflater.from(context).inflate(R.layout.tabs_text_bg, null); 
    TextView tv = (TextView) view.findViewById(R.id.tabsText); 
    tv.setText(text); 
    return view; 
} 
} 

Компоновка для использования вкладок offer_tabs.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:background="#6D6C6C" 
android:orientation="vertical" > 

<android.support.v4.app.FragmentTabHost 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/tabhost" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <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" 
      android:layout_weight="0" 
      android:orientation="horizontal" /> 

     <View 
      android:layout_width="fill_parent" 
      android:layout_height="2dp" 
      android:background="#696969" /> 

     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="0dp" 
      android:layout_height="0dp" 
      android:layout_weight="0" /> 

     <FrameLayout 
      android:id="@+id/offer_realtabcontent" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" /> 
    </LinearLayout> 
</android.support.v4.app.FragmentTabHost> 
</LinearLayout> 

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

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