Tabhost study 2. In Android applications, most software uses the button to display it at the bottom (tabhost ). Use three radiobutton nested in radiogroup.

Source: Internet
Author: User

If you are a beginner in Android, you have previously developed javaee, or you have a Java Foundation. Then you have learned four major Android components. Let's take a look at this article.

I won't talk about the four major components.Activity service content providers intent

If you understand this article, you can use XML to parse JSON (JSON Parsing is faster than XML, and we recommend that you use JSON later) to interview Android development.

The button is implemented using tabhost at the bottom. Tabhost can be placed at the top or at the bottom. I have published three articles about tabhost.

If you do not understand it, you can leave a message to me or read the three previous articles. An article opposite this is http://blog.csdn.net/sun6223508/article/details/6617545

Post please indicate the source http://blog.csdn.net/sun6223508

Mainactivity. Java

public class MainActivity extends TabActivity {private RadioGroup group;private TabHost tabHost;public static final String TAB_HOME = "tabHome";public static final String TAB_MES = "tabMes";public static final String TAB_TOUCH = "tab_touch";@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.maintabs);group = (RadioGroup) findViewById(R.id.main_radio);tabHost = getTabHost();tabHost.addTab(tabHost.newTabSpec(TAB_HOME).setIndicator(TAB_HOME).setContent(new Intent(this, Main.class)));tabHost.addTab(tabHost.newTabSpec(TAB_MES).setIndicator(TAB_MES).setContent(new Intent(this, Main2.class)));tabHost.addTab(tabHost.newTabSpec(TAB_TOUCH).setIndicator(TAB_TOUCH).setContent(new Intent(this, Main.class)));group.setOnCheckedChangeListener(new OnCheckedChangeListener() {public void onCheckedChanged(RadioGroup group, int checkedId) {switch (checkedId) {case R.id.radio_button0:tabHost.setCurrentTabByTag(TAB_HOME);break;case R.id.radio_button1:tabHost.setCurrentTabByTag(TAB_MES);break;case R.id.radio_button2:tabHost.setCurrentTabByTag(TAB_TOUCH);break;default:break;}}});}}

Maintabs. xml

<?xml version="1.0" encoding="UTF-8"?><TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent"android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"><LinearLayout android:orientation="vertical"android:layout_width="fill_parent" android:layout_height="fill_parent"><FrameLayout android:id="@android:id/tabcontent"android:layout_width="fill_parent" android:layout_height="0.0dip"android:layout_weight="1.0" /><TabWidget android:id="@android:id/tabs" android:visibility="gone"android:layout_width="fill_parent" android:layout_height="wrap_content"android:layout_weight="0.0" /><RadioGroup android:gravity="center_vertical"android:layout_gravity="bottom" android:orientation="horizontal"android:id="@+id/main_radio" android:background="@drawable/home_btn_bg"android:layout_width="fill_parent" android:layout_height="wrap_content"><RadioButton android:id="@+id/radio_button0" android:tag="radio_button0"android:layout_marginTop="2.0dip" android:text="@string/main_home" android:background="@drawable/home_btn_bg"android:drawableTop="@drawable/icon_1_n" style="@style/main_tab_bottom" /><RadioButton android:id="@+id/radio_button1" android:tag="radio_button1"android:layout_marginTop="2.0dip" android:text="@string/main_message" android:background="@drawable/home_btn_bg"android:drawableTop="@drawable/icon_2_n" style="@style/main_tab_bottom" /><RadioButton android:id="@+id/radio_button2" android:tag="radio_button2"android:layout_marginTop="2.0dip" android:text="@string/main_comment"  android:background="@drawable/home_btn_bg"android:drawableTop="@drawable/icon_3_n" style="@style/main_tab_bottom" /></RadioGroup></LinearLayout></TabHost>

The most important thing is the above XML. It calls the system's tabhost

Main. Java

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

Main. xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><ImageView android:text="@+id/Button01" android:id="@+id/Button01"android:layout_width="wrap_content" android:layout_height="wrap_content"android:background="@drawable/sfsd"></ImageView></LinearLayout>

public class Main2 extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.main2);}}

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    ><ImageView android:text="@+id/Button01" android:id="@+id/Button01"android:layout_width="wrap_content" android:layout_height="wrap_content"android:background="@drawable/dsfdsfds"></ImageView></LinearLayout>

The most important thing is the mainactivity. Java file and its layout.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.