ActivityGroup 实现分页和自定义标签(内有GridView的点击背景样式的改变方法)
生活随笔
收集整理的這篇文章主要介紹了
ActivityGroup 实现分页和自定义标签(内有GridView的点击背景样式的改变方法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我這里實現的是方法和這個帖子的主要差別的就是界面都是自定義的。這樣可以實現很多美觀的分頁,新浪微博等的效果一樣可以達到。上效果圖如下:
可以看到下方的就是標簽界面了,這是一個GridVIew。很多人都說設置GridVIew的list setselector屬性,但是這個屬性可是改變點擊后一瞬間的背景樣式。所以最好的方法還是點擊的position記錄下來進行,進行界面的更新。
TestGroupActivity.java代碼:
package com.renrenwei.activity;import com.renrenwei.adapter.ActivityGroupImageAdapter;import android.app.ActivityGroup; import android.content.Intent; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.view.Window; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import android.widget.LinearLayout;public class TestActivityGroup extends ActivityGroup {private int barnum = 4;private GridView bottombar;private ActivityGroupImageAdapter bottomadapter;private LinearLayout showActivityView;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);this.requestWindowFeature(Window.FEATURE_NO_TITLE);//取消標題setContentView(R.layout.activitygroup);bottombar = (GridView) this.findViewById(R.id.gridview_bottombar);bottombar.setNumColumns(barnum);bottombar.setSelector(new ColorDrawable(Color.TRANSPARENT));// 設置選中為透明色bottombar.setGravity(Gravity.CENTER);// 位置居中bottombar.setVerticalSpacing(0);// 垂直間隔bottomadapter = new ActivityGroupImageAdapter(this, barnum);bottombar.setAdapter(bottomadapter);bottombar.setOnItemClickListener(new BottomListener());showActivityView = (LinearLayout) this.findViewById(R.id.group_showview);SwitchActivity(0);// 默認打開的界面。}private void SwitchActivity(int arg2) {bottomadapter.SetFocus(arg2);showActivityView.removeAllViews();// 必須先清除容器中所有的ViewIntent intent = null;int itemnum = arg2;if (itemnum == 0) {intent = new Intent(TestActivityGroup.this,TestRenRenWeiActivity.class);}if (itemnum == 1) {intent = new Intent(TestActivityGroup.this, TestMyActivity.class);}if (itemnum == 2) {intent = new Intent(TestActivityGroup.this,TestRenRenWeiActivity.class);}if (itemnum == 3) {intent = new Intent(TestActivityGroup.this,TestRenRenWeiActivity.class);}intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);Window subActivity = getLocalActivityManager().startActivity("subActivity", intent);// 容器添加ViewshowActivityView.addView(subActivity.getDecorView(),LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);}class BottomListener implements OnItemClickListener {public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {SwitchActivity(arg2);}} }
ActivityGroupAdapter,java代碼:
這里的group_bottom_item界面就是你自己定制的界面,在這里你可以加入一些你想加入的控件。如ImageView和TextView等等。
下面上界面源碼,activitygroup.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"><RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"><LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/group_showview"></LinearLayout><GridView android:id="@+id/gridview_bottombar"android:layout_width="fill_parent" android:layout_alignParentBottom="true" android:fadingEdgeLength="5dip"android:fadingEdge="vertical"android:background="@color/Gray" android:layout_height="80dip"></GridView></RelativeLayout> </LinearLayout>
group_bottom_item.xml
一個自定義的ActivityGroup標簽界面就做好啦。
這個是一個樣式效果。如需要的可以自己去網上查找相關效果。
總結
以上是生活随笔為你收集整理的ActivityGroup 实现分页和自定义标签(内有GridView的点击背景样式的改变方法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android中的多种文件读写操作方法
- 下一篇: Android入门第十五篇之Activi