论坛首页 移动开发技术论坛

GridView + ViewFlipper布局界面,模仿“机锋市场”

浏览 17608 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-10-16  
不错不错,赞一个
0 请登录后投票
   发表时间:2011-10-16  
确实可以学到不少东西,赞一个
0 请登录后投票
   发表时间:2011-12-03  
这个源码真的很实用,新手入门的话,看看这个就不错了,谢谢分享
0 请登录后投票
   发表时间:2011-12-09  
楼主辛苦了 
0 请登录后投票
   发表时间:2011-12-18  
谢谢分享,正需要寻找这方面的资料。。。。。。
0 请登录后投票
   发表时间:2011-12-20  
niCe 写道
有一个问题,就是第一次运行,默认没有给GirdView的第一个图标加上高亮背景,要手动点击一次才有高亮背景。
我也发现这个问题,自己想改进,但是menuGridView.getChild(0)为空,求指教。。。。。
0 请登录后投票
   发表时间:2011-12-20   最后修改:2011-12-20
Jack-Liang 写道
niCe 写道
有一个问题,就是第一次运行,默认没有给GirdView的第一个图标加上高亮背景,要手动点击一次才有高亮背景。
我也发现这个问题,自己想改进,但是menuGridView.getChild(0)为空,求指教。。。。。

menuGridView.getChild(0)为空,说明你应该是在BottomMenuGridView的getView方法执行之前调用的。
这个方法是异步调用的,所以得在getView方法里去设置。
可以这样解决,如:
if(firstEnter && position > 0) {
RelativeLayout temp = (RelativeLayout)menuGridView.getChildAt(0);
temp.setBackgroundResource(R.drawable.product_title_bg);
temp.getChildAt(0).setBackgroundResource(menuGridViewSelectedImgs[0]);
firstEnter = false;
}

firstEnter变量是JifengActivity的成员变量,在onCreate初始化为true就行。

这个例子当时只是为了学习用的~
0 请登录后投票
   发表时间:2011-12-22  
你好,我想问一下你这里用ViewFlipper是为什么,我修改了一下你的代码,效果是一样的

把布局文件里面的ViewFlipper改为LinearLayout
<!--
<ViewFlipper android:id="@+id/content" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> -->
 	<LinearLayout android:id="@+id/content"
 		android:layout_width="fill_parent"
 		android:layout_height="fill_parent"
 		android:layout_weight="1" />


java文件里面,mLayout就是布局文件里面的LinearLayout
         public void toActivity(String activityId,Intent intent) {
	    	intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
	    	View view = getLocalActivityManager().startActivity(activityId, intent).getDecorView();
	    	//切换activity时显示的动画效果
	    	view.setAnimation(new WindowAnimation(500));
	    	/*mViewFlipper.removeAllViews();
	    	mViewFlipper.addView(view);
	    	mViewFlipper.showNext();*/
	    	mLayout.removeAllViews();
	    	mLayout.addView(view);
	    }
0 请登录后投票
   发表时间:2011-12-24  
liliang1222 写道
你好,我想问一下你这里用ViewFlipper是为什么,我修改了一下你的代码,效果是一样的

把布局文件里面的ViewFlipper改为LinearLayout
<!--
<ViewFlipper android:id="@+id/content" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1"/> -->
 	<LinearLayout android:id="@+id/content"
 		android:layout_width="fill_parent"
 		android:layout_height="fill_parent"
 		android:layout_weight="1" />


java文件里面,mLayout就是布局文件里面的LinearLayout
         public void toActivity(String activityId,Intent intent) {
	    	intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
	    	View view = getLocalActivityManager().startActivity(activityId, intent).getDecorView();
	    	//切换activity时显示的动画效果
	    	view.setAnimation(new WindowAnimation(500));
	    	/*mViewFlipper.removeAllViews();
	    	mViewFlipper.addView(view);
	    	mViewFlipper.showNext();*/
	    	mLayout.removeAllViews();
	    	mLayout.addView(view);
	    }


ViewFlipper是android.widget下的一个组件,跟ImageView、ListView等等一样是android封装好的,当然在开发的过程中,你可以不用系统提供给你的组件,你也可以自己去创建一个满足自己要求的组件。它本身也是一个FrameLayout,是一个view容器,也是一个view,只不过它直接继承了ViewAnimator,提供了一些View之间切换的动画等特效及一些其他辅助功能。所以你用LinearLayout当然是可以实现view的切换的。
0 请登录后投票
   发表时间:2012-01-03  
学习了,真的不错。
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics