zoukankan      html  css  js  c++  java
  • Android腾讯微博客户端开发一:在下方的Tab的实现

       

    红色的是res下drawable文件夹下的一个selector文件,内容是
    Selector文件代码

    <?xml version="1.0" encoding="UTF-8"?>
     
    <selector
     
      xmlns:android="[url=http://schemas.android.com/apk/res/android]http://schemas.android.com/apk/res/android[/url]">
     
        <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable=<span style="background-color: #00ff00;">"@drawable/tab_timeline_normal" /></span> 
        <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable=<span style="background-color: #00ff00;">"@drawable/tab_timeline_active" /></span> 
        <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable=<span style="background-color: #00ff00;">"@drawable/tab_timeline_normal" /></span>
        <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable=<span style="background-color: #00ff00;">"@drawable/tab_timeline_active" /></span>
        <item android:state_pressed="true" android:drawable=<span style="background-color: #00ff00;">"@drawable/tab_timeline_normal" /></span>
     
    </selector>
    

    也是你按下时,和不按时等有一个效果上的改变,具体的可以参看关于selector的知识。绿色的就是两张不同效果的图片

    Mainactivity代码
    public class MainActivity extends TabActivity {
     
    
            private TabHost tabHost;
            private RadioGroup mainbtGroup;
            private static final String HOME = "主页";
            private static final String REFER = "提及";
            private static final String SECRET = "私信";
            private static final String SEARCH = "搜索";
            private static final String ATTENTIION = "关注";
     
                @Override
             public void onCreate(Bundle savedInstanceState) {
     
    
                    super.onCreate(savedInstanceState); 
                    setContentView(R.layout.tabhost);
    
                   tabHost = this.getTabHost();
     
                  View view1 = View.inflate(MainActivity.this, R.layout.tab, null);
     
                    ((ImageView) view1.findViewById(R.id.tab_imageview_icon)).setImageResource(<span style="background-color: #ff0000;">R.drawable.tab_timeline_selector)</span>;
     
                    ((TextView) view1.findViewById(R.id.tab_textview_title)).setText(HOME);
                TabHost.TabSpec spec1 = tabHost.newTabSpec(HOME)
     
                                    .setIndicator(view1)
                                     .setContent(new Intent(this, HomeTimeLineActivity.class));
     
                    tabHost.addTab(spec1);
                    
                    View view2 = View.inflate(MainActivity.this, R.layout.tab, null);
                     ((ImageView) view2.findViewById(R.id.tab_imageview_icon)).setImageResource(<span style="background-color: #ff0000;">R.drawable.tab_atme_selector)</span>;
                    ((TextView) view2.findViewById(R.id.tab_textview_title)).setText(REFER);
     
                    TabHost.TabSpec spec2 = tabHost.newTabSpec(REFER)
     
    
                                    .setIndicator(view2)
                                     .setContent(new Intent(this, ReferActivity.class));
     
                    tabHost.addTab(spec2);
                     
                    View view3 = View.inflate(MainActivity.this, R.layout.tab, null);
                    ((ImageView) view3.findViewById(R.id.tab_imageview_icon)).setImageResource(<span style="background-color: #ff0000;">R.drawable.tab_message_selector)</span>;
     
    
                    ((TextView) view3.findViewById(R.id.tab_textview_title)).setText(SECRET);
                 TabHost.TabSpec spec3 = tabHost.newTabSpec(SECRET)
     
                                   .setIndicator(view3)
                                   .setContent(new Intent(this, MessageActivity.class));
     
                    tabHost.addTab(spec3);
                     
                    View view4 = View.inflate(MainActivity.this, R.layout.tab, null);
                    ((ImageView) view4.findViewById(R.id.tab_imageview_icon)).setImageResource(<span style="background-color: #ff0000;">R.drawable.tab_explore_selector</span>);
     
                    ((TextView) view4.findViewById(R.id.tab_textview_title)).setText(SEARCH);
     
                  TabHost.TabSpec spec4 = tabHost.newTabSpec(SEARCH)
                                   .setIndicator(view4)
                                   .setContent(new Intent(this, SearchActivity.class));
     
                    tabHost.addTab(spec4);
                     
                    View view5 = View.inflate(MainActivity.this, R.layout.tab, null);
     
                    ((ImageView) view5.findViewById(R.id.tab_imageview_icon)).setImageResource(<span style="background-color: #ff0000;">R.drawable.tab_focus_selector</span>);
                     ((TextView) view5.findViewById(R.id.tab_textview_title)).setText(ATTENTIION);
     
                 TabHost.TabSpec spec5 = tabHost.newTabSpec(ATTENTIION) 
                                    .setIndicator(view5)
                                   .setContent(new Intent(this, AttentionActivity.class));
                     tabHost.addTab(spec5);
             }
     

    是一张.9.png格式的图片,这个很有用哟在android里,经常用来处理图片拉升的问题。左边和上面的小点表示要拉伸的地方,右边和下面的表示内容区。关于.9.png格式图片在android里面得更多应用看<a href="http://developer.android.com/guide/developing/tools/draw9patch.html">这里</a>

    Tabhost布局文件代码
    <?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="[url=http://schemas.android.com/apk/res/android]http://schemas.android.com/apk/res/android[/url]"> <RelativeLayout 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="fill_parent" /> <TabWidget android:id="@android:id/tabs" <span style="background-color: #ff0000;">
                  android:background="@drawable/tab_bkg"</span> android:fadingEdge="none" android:fadingEdgeLength="0.0px" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" /> </RelativeLayout> </TabHost>

    Tabhost布局文件代码

    android:layout_alignParentBottom="true" 把tab的五个按钮挨着父控件的底部,在android里面RelativeLayout很好用
     

    Tab布局文件,就是你看到的那5个按钮的布局文件代码

    <?xml version="1.0" encoding="UTF-8"?>
     
    <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"
     
      xmlns:android="[url=http://schemas.android.com/apk/res/android]http://schemas.android.com/apk/res/android[/url]">
     
        <ImageView android:id="@+id/tab_imageview_icon" android:layout_width="fill_parent" android:layout_height="32.0dip" android:scaleType="fitCenter" />
     
        <TextView android:id="@+id/tab_textview_title" android:textSize="11.0sp"  android:ellipsize="marquee" android:gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:marqueeRepeatLimit="1" />
     
    </LinearLayout>
     
     
  • 相关阅读:
    《Java技术》第七次作业
    《Java技术》第六次作业
    《Java技术》第五次作业
    《Java技术》第四次作业
    《Java技术》第三次作业
    《Java技术》第二次作业
    《Java技术》第一次作业
    股票——布林带
    股票——指数移动平均线
    股票——简单移动平均线
  • 原文地址:https://www.cnblogs.com/vus520/p/2561922.html
Copyright © 2011-2022 走看看