Как сделать панель меню в стиле iphone в Android - PullRequest
1 голос
/ 11 августа 2011

Я пытаюсь портировать приложение для iphone на андроид. Внутри приложения есть статическая панель с пятью кнопками, которая действует как строка меню (т. Е. Нажатие одной кнопки откроет соответствующую страницу). Эта панель не исчезает и должна загораться в зависимости от того, какая кнопка нажата. Я не знаю, с чего начать, и мне было интересно, кто-нибудь может мне помочь. Вот кнопки. Спасибо Buttons

1 Ответ

1 голос
/ 23 сентября 2011

На мой взгляд, копировать приложение для iPhone не очень хорошая идея. Пользовательские интерфейсы (и, следовательно, поведение пользователей) совершенно разные и для устройств iPhone и Android.Спросите себя "это правильный способ сделать это на Android?"Если вы не уверены, просто не делайте этого.Но делайте так, как это делают другие разработчики на Android.

Вы можете следовать этому руководству, чтобы начать http://developer.android.com/resources/tutorials/views/hello-tabwidget.html, а затем (только когда вы это понимаете) попробовать что-то подобное для каждой из ваших вкладок:

// Initialize a TabSpec for each tab and add it to the TabHost

spec = mTabHost.newTabSpec("Name of tab");
v = View.inflate(this, R.layout.tabbar_tabview, null);
((ImageView)v.findViewById(R.id.tabbar_tabview_img)).setBackgroundResource(R.drawable.ic_tab_expenses);
((TextView)v.findViewById(R.id.tabbar_tabview_text)).setText(R.string.general_tab_expenses);
spec.setIndicator(v);
spec.setContent(intent);
mTabHost.addTab(spec);

Это содержимое моего "tabbar_tabview.xml":

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:padding="0dp"
    android:layout_height="fill_parent" android:layout_width="fill_parent"
        android:background="@drawable/tabview_background">

    <ImageView android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:id="@+id/tabbar_tabview_img"
        android:layout_gravity="center" android:layout_marginTop="5dp"></ImageView>

    <TextView  android:id="@+id/tabbar_tabview_text" android:layout_width="wrap_content"
        android:gravity="center" android:layout_height="wrap_content" android:textSize="13dp" android:layout_marginBottom="5dp"
        android:layout_gravity="center" android:textColor="@drawable/tabview_text_color"></TextView>

</LinearLayout> 

И это содержимое моего tabview_background.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true">
        <shape>
             ### I defined a shape here ###
        </shape>
    </item>

    <item>
        <shape>
             ### I defined a shape here ###
        </shape>
    </item>
</selector>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...