Android 使用Gallery实现Tab
16lz
2021-01-23
main.xml布局文件:
Java代码
values/attrs.xml:
Java代码
values/strings.xml:
Java代码
drawable/tab_button_select.xml:
Java代码
drawable/tab_button_unselect.xml:
Java代码
IaiaiActivity.java类:
Java代码
运行结果:
Java代码
- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <Galleryandroid:id="@+id/gallery"android:layout_width="fill_parent"
- android:layout_height="wrap_content"android:layout_marginTop="30dp"
- android:unselectedAlpha="1"android:spacing="1dip"/>
- </LinearLayout>
values/attrs.xml:
Java代码
- <?xmlversion="1.0"encoding="utf-8"?>
- <resources>
- <declare-styleablename="Gallery">
- <attrname="android:galleryItemBackground"/>
- </declare-styleable>
- </resources>
values/strings.xml:
Java代码
- <?xmlversion="1.0"encoding="utf-8"?>
- <resources>
- <stringname="hello">HelloWorld,Date!</string>
- <stringname="app_name">丸子-Widget</string>
- </resources>
drawable/tab_button_select.xml:
Java代码
- <?xmlversion="1.0"encoding="utf-8"?>
- <shapexmlns:android="http://schemas.android.com/apk/res/android">
- <gradientandroid:startColor="#FF1B1B1B"android:endColor="#FF969696"
- android:angle="90.0">
- </gradient>
- </shape>
drawable/tab_button_unselect.xml:
Java代码
- <?xmlversion="1.0"encoding="utf-8"?>
- <shapexmlns:android="http://schemas.android.com/apk/res/android">
- <gradientandroid:startColor="#FF000000"android:endColor="#FF474747"
- android:angle="90.0">
- </gradient>
- </shape>
IaiaiActivity.java类:
Java代码
- packagecom.iaiai.activity;
- importjava.util.Arrays;
- importjava.util.Collections;
- importjava.util.List;
- importandroid.app.Activity;
- importandroid.content.Context;
- importandroid.content.res.TypedArray;
- importandroid.graphics.Color;
- importandroid.os.Bundle;
- importandroid.view.Gravity;
- importandroid.view.View;
- importandroid.view.ViewGroup;
- importandroid.widget.AdapterView;
- importandroid.widget.AdapterView.OnItemClickListener;
- importandroid.widget.BaseAdapter;
- importandroid.widget.Gallery;
- importandroid.widget.TextView;
- /**
- *
- *<p>
- *Title:IaiaiActivity.java
- *</p>
- *<p>
- *E-Mail:[email protected]
- *</p>
- *<p>
- *QQ:176291935
- *</p>
- *<p>
- *Http:iaiai.iteye.com
- *</p>
- *<p>
- *Createtime:2011-6-26
- *</p>
- *
- *@author丸子
- *@version0.0.1
- */
- publicclassIaiaiActivityextendsActivity{
- privateGallerygallery;
- privateTabAdaptertextAdapter;
- privatestaticfinalString[]PROGRAM_NAMES={"中央一台","中央二台","中央三台",
- "中央四台","中央五台","中央六台","中央七台","中央八台",};
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- gallery=(Gallery)findViewById(R.id.gallery);
- textAdapter=newTabAdapter(this,Arrays.asList(PROGRAM_NAMES));
- gallery.setAdapter(textAdapter);
- gallery.setOnItemClickListener(newOnItemClickListener(){
- @Override
- publicvoidonItemClick(AdapterView<?>parent,Viewview,
- intposition,longid){
- TabAdapteradapter=(TabAdapter)parent.getAdapter();
- adapter.setSelectedPos(position);
- }
- });
- }
- publicclassTabAdapterextendsBaseAdapter{
- privateContextmContext;
- privateList<String>mList;
- privateintmSelectedPos;
- publicTabAdapter(Contextcontext,List<String>list){
- mContext=context;
- TypedArraya=obtainStyledAttributes(R.styleable.Gallery);
- a.recycle();
- if(list==null)
- list=Collections.emptyList();
- mList=list;
- }
- publicvoidsetSelectedPos(intpos){
- if(pos!=mSelectedPos){
- mSelectedPos=pos;
- notifyDataSetChanged();
- }
- }
- publicintgetSelectedPos(){
- returnmSelectedPos;
- }
- publicintgetCount(){
- returnmList.size();
- }
- publicObjectgetItem(intposition){
- returnmList.get(position);
- }
- publiclonggetItemId(intposition){
- returnposition;
- }
- publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
- TextViewtext=null;
- if(convertView==null){
- text=newTextView(mContext);
- }else{
- text=(TextView)convertView;
- }
- text.setTextColor(Color.WHITE);
- text.setText(mList.get(position));
- text.setLayoutParams(newGallery.LayoutParams(102,40));
- text.setGravity(Gravity.CENTER);
- if(position==mSelectedPos)
- text.setBackgroundResource(R.drawable.tab_button_select);
- else
- text.setBackgroundResource(R.drawable.tab_button_unselect);
- returntext;
- }
- }
- }
运行结果:
更多相关文章
- Android 功能代码总结
- android 分享到 代码
- Android中NFC功能流程图解析及代码演示『轉』
- android 关于 发送post请求的代码总结(包含加上参数)
- Android Audio代码分析12 - stream type续
- android代码常识