Как перемещаться из одного представления в другое, например, в панель вкладок iphone - приложения для Android - PullRequest
0 голосов
/ 14 февраля 2012

Я новичок в разработке для Android.Может ли кто-нибудь помочь с переходом от одного представления к другому в панели вкладок, например iPhone для приложений Android?

Спасибо.

Ответы [ 4 ]

1 голос
/ 14 февраля 2012

проверка viewwitcher в android - основная предпосылка заключается в том, что вы размещаете тег вокруг двух разных макетов в своем XML-файле, а затем объявляете переменную в своей основной деятельности ViewSwitcher.Затем, чтобы переключаться между представлениями, просто вызовите switcher.showNext () и switcher.showPrevious ().

Пример: -

private ViewSwitcher switcher;
private static final int REFRESH_SCREEN = 1;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

switcher = (ViewSwitcher) findViewById(R.id.profileSwitcher);
startScan();
}
      ... Finish the rest of your program

И вот как выпереключится между представлениями

switcher.showNext();  // Switches to the next view
switcher.showPrevious();  // Switches to the previous view

ваш XML-файл

<?xml version="1.0" encoding="utf-8"?>
<ViewSwitcher xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/profileSwitcher"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ProgressBar
    android:id="@+id/progressbar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true" />
<TextView
    android:text="Loading…"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_toRightOf="@+id/progressbar"
    android:gravity="center"/>
</RelativeLayout>

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal" >
<TextView
    android:text="Finished!"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_centerVertical="true" />
</RelativeLayout>

</ViewSwitcher>
0 голосов
/ 14 февраля 2012

Вы имеете в виду, что хотите использовать TabView, я привел один пример здесь:

public class Welcome extends TabActivity{

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.welcome);
       // Resource object to get Drawables
    TabHost tabHost = getTabHost();  // The activity TabHost
    TabHost.TabSpec spec;  // Resusable TabSpec for each tab
    Intent intent;  // Reusable Intent for each tab

    intent = new Intent(Welcome.this, Select.class);
    spec = tabHost.newTabSpec("Show All").setIndicator("Show All",getResources().getDrawable(R.drawable.showall)).setContent(intent);
    tabHost.addTab(spec);

    // Do the same for the other tabs
    intent = new Intent(Welcome.this, Insert.class);
    spec = tabHost.newTabSpec("Insert").setIndicator("Insert",getResources().getDrawable(R.drawable.insertrelative)).setContent(intent);
    tabHost.addTab(spec);


    intent = new Intent(Welcome.this, Shownetwork.class);
    spec = tabHost.newTabSpec("Show Network").setIndicator("Show Network",getResources().getDrawable(R.drawable.showrelativeinfo)).setContent(intent);
    tabHost.addTab(spec);



 // Create an Intent to launch an Activity for the tab (to be reused)
    intent = new Intent(Welcome.this, Addnetwork.class);

    // Initialize a TabSpec for each tab and add it to the TabHost
    spec = tabHost.newTabSpec("Add Network").setIndicator("Add Network",getResources().getDrawable(R.drawable.addrelativeinfo)).setContent(intent);
    tabHost.addTab(spec);
    tabHost.setCurrentTab(0);

А это Welcome.xml

<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"
    android:padding="5dp">
    <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"
        android:padding="5dp" android:background="@drawable/images"/>
</LinearLayout>

0 голосов
/ 14 февраля 2012

Создайте действие вкладки, которое обрабатывает все дочерние вкладки, создайте действие для каждой вкладки.и передайте намерение этому действию на главной вкладке, которую мы создали ранее.Вы также можете назначить изображение значка и имя для этих вкладок.

public class TabActivity extends android.app.TabActivity {

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tab);

    Resources res = getResources(); // Resource object to get Drawables
    TabHost tabHost = getTabHost(); // The activity TabHost
    TabHost.TabSpec spec; // Resusable TabSpec for each tab
    Intent intent; // Reusable Intent for each tab

intent = new Intent (). setClass (this, StockList.class);

    spec = tabHost
            .newTabSpec("stocks")
            .setIndicator("Stocks",
                    res.getDrawable(R.drawable.stocklist_tab))
            .setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this, AddStock.class);
    spec = tabHost
            .newTabSpec("Add stock")
            .setIndicator("Add Stock",
                    res.getDrawable(R.drawable.stockchange_tab))
            .setContent(intent);
    tabHost.addTab(spec);
0 голосов
/ 14 февраля 2012

Для этой цели вы должны использовать Frame Layout в вашем XML-файле. Это может быть реализовано как:

android:id="@+id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_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"
        >

   <AnalogClock
        android:id="@+id/tab1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="A Semi-random Button"             

         />

<Button 
    android:id="@+id/tab2"
    android:text="@string/goToClock"
    android:layout_width="fill_parent"
android:layout_height="wrap_content"


    />

</FrameLayout>

</LinearLayout>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...