Android 创建标签式的版面设置 (笔记) -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【meiwen.anslib.com - 电脑资料】

    利用TabHost创建标签式的版面设置,进行不同标签的切换,显示不同的背景图片,

Android 创建标签式的版面设置 (笔记)

。效果如下所示:

   

    1、添加6张图片资源(直接拖入drawable文件夹),分别为gray.png, white.png, gray2.png, white2.png, gray3.png, white3.png代表的是标签默认状态和按下以后的状态。

    2、在 drawable文件夹中新建一般的XML文件,picture.xml, picture2.xml, picture3.xml分别填写以下代码

    picture.xml

    picture2.xml

    picture3.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/white3/" android:state_selected="true"><item android:drawable="@drawable/gray3/"></item></item></selector>

    3、在activity_main.xml中添加控件,并且在MainActivity.java调用

    activity_main.xml

<framelayout android:id="@+id/container" android:layout_height="match_parent" android:layout_width="match_parent" tools:context="com.example.test2.MainActivity" tools:ignore="MergeRootFrame" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"><textview android:id="@+id/view1" android:layout_height="wrap_content" android:layout_width="fill_parent"><textview android:id="@+id/view2" android:layout_height="wrap_content" android:layout_width="fill_parent"><textview android:id="@+id/view3" android:layout_height="wrap_content" android:layout_width="fill_parent"></textview></textview></textview></framelayout>
MainActivity.xml

package com.example.test3;import android.app.Activity;import android.app.ActionBar;import android.app.Fragment;import android.app.TabActivity;import android.content.Intent;import android.content.res.Resources;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.TabHost;import android.widget.TabHost.TabSpec;import android.os.Build;public class MainActivity extends TabActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);              TabHost tabHost = getTabHost();        LayoutInflater.from(this).inflate(R.layout.activity_main, //加载页面        		tabHost.getTabContentView(), true);        tabHost.addTab(tabHost.newTabSpec(tab1)                   .setIndicator(tab1, getResources().getDrawable(R.drawable.picture))                .setContent(R.id.view1));          tabHost.addTab(tabHost.newTabSpec(tab2)                   .setIndicator(tab2, getResources().getDrawable(R.drawable.picture2))                   .setContent(R.id.view2));           tabHost.addTab(tabHost.newTabSpec(tab3)                   .setIndicator(tab3, getResources().getDrawable(R.drawable.picture3))                   .setContent(R.id.view3));                tabHost.setCurrentTab(1);            }}
4、测试以后出现这样的情况:只显示字不显示图标,则在AndroidManifest.xml进行以下更改,最终看到图标,

电脑资料

Android 创建标签式的版面设置 (笔记)》(http://meiwen.anslib.com)。

   

   

最新文章