Android пользовательский TabWidget - PullRequest
0 голосов
/ 01 апреля 2012

Я новичок в разработке для Android, и у меня, естественно, много вопросов :) Я хочу разработать приложение, которое содержит вкладки деятельности. Там будет 3 ImageButton и небольшой делитель между этими кнопками. Если я нажму одну из кнопок, она будет сфокусирована. Мой вопрос: как я могу изменить стиль tabhost / tabwidget? Одно изображение, если кнопка нажата, и другое, если это не так. Мне не нужна подсветка по умолчанию для Android, могу ли я как-то это переопределить?

Заранее спасибо!

Br, Peter

1 Ответ

2 голосов
/ 01 апреля 2012

Это поможет вам:

<LinearLayout 
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/headerContent"
        android:orientation="horizontal"
        android:background="@drawable/bg_seablue"
        android:padding="10dip">

        <Button 
            android:layout_height="wrap_content" 
            android:id="@+id/tabOne"
            android:layout_width="fill_parent"
            android:layout_weight="1.0"
            android:background="@drawable/bg_tabs"
            android:padding="10dp"
            android:text="Tab 1"
            android:textColor="#000000"
            android:textSize="16dip"
            android:layout_marginRight="2dp"
            android:onClick="onClick"/>

       <Button 
            android:layout_height="wrap_content" 
            android:id="@+id/tabTwo"
            android:layout_width="fill_parent"
            android:layout_weight="1.0"
            android:background="@drawable/bg_tabs"
            android:padding="10dp"
            android:text="Tab 2"
            android:textColor="#000000"
            android:textSize="16dip"
            android:layout_marginRight="2dp"
            android:onClick="onClick"/>

       <Button 
            android:layout_height="wrap_content" 
            android:id="@+id/tabThree" 
            android:layout_width="fill_parent"
            android:layout_weight="1.0"
            android:textColor="#000000"
            android:background="@drawable/bg_tabs"
            android:padding="10dp"
            android:text="Tab 3"
            android:textSize="16dip"
            android:layout_marginRight="2dp"
            android:onClick="onClick"/>

    </LinearLayout>

Следующий код предназначен для bg вкладок:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <solid
                android:color="#d2d2d2" />
            <stroke
                android:width="1dp"
                android:color="#000000" />
            <corners
                android:radius="3dp" />
        </shape>
    </item>
    <item>
        <shape>
            <gradient
                android:startColor="#ffffff"
                android:endColor="#ffffff"
                android:angle="270" />
            <stroke
                android:width="1dp"
                android:color="#000000" />
            <corners
                android:radius="3dp" />
        </shape>
    </item>
</selector>

Для просмотра других страниц при нажатии на кнопки используйте следующеекод:

    public void onClick(View v) {

        Intent intent = new Intent();
        intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);

        switch(v.getId()){

            case R.id.tabOne:
                intent = new Intent(this, tabOne.class);
            break;

            case R.id.tabTwo:
                intent = new Intent(this, tabTwo.class);
            break;

            case R.id.tabThree:
                intent = new Intent(this, tabThree.class);
            break;

        }

        startActivity(intent);
        finish();
        overridePendingTransition(0, 0);

    }

Это поможет вам более чем достаточно, я в этом уверен.Веселого кодирования!

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