MessageTabActivity.java :  » Network » vkontakte-android » org » googlecode » vkontakte_android » ui » Android Open Source

Android Open Source » Network » vkontakte android 
vkontakte android » org » googlecode » vkontakte_android » ui » MessageTabActivity.java
package org.googlecode.vkontakte_android.ui;

import android.app.TabActivity;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Build;
import android.os.Bundle;
import android.view.*;
import android.widget.TabHost;
import android.widget.TextView;
import org.googlecode.vkontakte_android.*;

import java.lang.reflect.Method;


public class MessageTabActivity extends TabActivity {
    private static final String TAG = "org.googlecode.vkontakte_android.ui.MessageTabActivity";

    public static final int INCOMING_MESSSAGES_TAB = 1;
    public static final int OUTGOING_MESSSAGES_TAB = 2;
    private static final String INCOMING_TAB_ID = "incoming";
    private static final String OUTGOING_TAB_ID = "outgoing";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
        setContentView(R.layout.message_view);

        final TabHost tabHost = getTabHost();
        boolean isOldSdk = Build.VERSION.SDK.equals("3");

        TabHost.TabSpec incomingSpec = tabHost.newTabSpec(INCOMING_TAB_ID);
        Intent incomingIntent = new Intent(this, MessagesListActivity.class);
        incomingIntent.putExtra("type", INCOMING_MESSSAGES_TAB);
        incomingSpec.setIndicator(INCOMING_TAB_ID).setContent(incomingIntent);

        TabHost.TabSpec outgoingSpec = tabHost.newTabSpec(OUTGOING_TAB_ID);
        final Intent outgoingIntent = new Intent(this, MessagesListActivity.class);
        outgoingIntent.putExtra("type", OUTGOING_MESSSAGES_TAB);
        outgoingSpec.setContent(outgoingIntent);


        if (isOldSdk) {
            incomingSpec.setIndicator(getString(R.string.inbox));
            outgoingSpec.setIndicator(getString(R.string.sent));
        } else {
            LayoutInflater li = LayoutInflater.from(this);

            final TextView incomingTab = (TextView) li.inflate(R.layout.tab_textview, null);
            incomingTab.setText(R.string.inbox);

            final TextView outgoingTab = (TextView) li.inflate(R.layout.tab_textview, null);
            outgoingTab.setText(R.string.sent);

            tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
                @Override
                public void onTabChanged(String s) {
                    if (s.equals(OUTGOING_TAB_ID)) {
                        outgoingTab.setTypeface(Typeface.DEFAULT_BOLD);
                        incomingTab.setTypeface(Typeface.DEFAULT);
                    } else {
                        outgoingTab.setTypeface(Typeface.DEFAULT);
                        incomingTab.setTypeface(Typeface.DEFAULT_BOLD);
                    }
                }
            });

            try {
                Method method = TabHost.TabSpec.class.getMethod("setIndicator", View.class);
                method.invoke(incomingSpec, incomingTab);
                method.invoke(outgoingSpec, outgoingTab);
            } catch (Exception ignore) {
            }


        }

        tabHost.addTab(incomingSpec);
        tabHost.addTab(outgoingSpec);
    }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.