- 浏览: 5777057 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
快速迭代用
布局
RadioButton --->rb_for_orders.xml
RadioButton -->背景bg_radio_forum.xml
RadioButton -->下划线line_bottom_with_blue_bold_for_forum.xml
SmartTabLayout
http://www.jcodecraeer.com/a/opensource/2015/0331/2674.html
http://blog.csdn.net/lmj623565791/article/details/42160391
Android TabLayout 库:FlycoTabLayout
http://www.open-open.com/lib/view/open1447294190257.html
import java.util.ArrayList; import org.json.JSONObject; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.widget.HorizontalScrollView; import android.widget.RadioButton; import android.widget.RadioGroup; import com.android.volley.Response.Listener; import com.yirui.youbao.App; import com.yirui.youbao.fragment.OrderListFragment; import com.yirui.youbao.model.KeyValue; import com.yirui.youbao.net.Commands; /** * 订单管理 * @author pythoner * */ public class OrdersActivity extends BaseActivity implements View.OnClickListener { private Context context; private HorizontalScrollView hScrollView; private RadioGroup radioGroup; private ArrayList<KeyValue> tabs = new ArrayList<KeyValue>(); private ViewPager viewPager; private FragmentPagerAdapter pagerAdapter; private Fragment[] fragments; private int curPosition=0; private KeyValue curKeyValue=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_orders); context = this; initActionBar("", App.res.getDrawable(R.drawable.back), "订单管理", "创建订单",null); initViews(); } @Override public void doRightButtonClick(View v) { Commands.doCommandOrderCreate(context, App.user,null,new Listener<JSONObject>() { @Override public void onResponse(JSONObject response){ // TODO Auto-generated method stub // Log.i("tag", response.toString()); if (isSuccess(response)) { showToast("创建订单成功"); } } }); } private void initViews() { //1:未确认;2:待支付;3:已支付;4:已使用;5;用户退订;6:停车场退订;7:退款中;8;已退款 tabs.add(new KeyValue("1","待确认")); tabs.add(new KeyValue("2","待支付")); tabs.add(new KeyValue("3","已支付")); tabs.add(new KeyValue("4","已使用")); tabs.add(new KeyValue("5","用户退订")); tabs.add(new KeyValue("6","停车场退订")); tabs.add(new KeyValue("7","退款中")); tabs.add(new KeyValue("8","已退款")); initIndicator(); initViewPager(); } private void initIndicator(){ hScrollView = (HorizontalScrollView) findViewById(R.id.hScrollView); radioGroup = (RadioGroup) findViewById(R.id.radioGroup); for (int i = 0; i < tabs.size(); i++){ KeyValue tag = tabs.get(i); RadioButton child = (RadioButton) LayoutInflater.from(context).inflate(R.layout.rb_for_orders, null); child.setId(i); child.setTag(tag); child.setText(tag.getSecond()); child.setBackgroundResource(R.drawable.bg_radio_forum); child.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ // TODO Auto-generated method stub int id = v.getId(); viewPager.setCurrentItem(id); curPosition=id; curKeyValue = (KeyValue) v.getTag(); } }); if(i==curPosition){ child.setChecked(true); } radioGroup.addView(child); } } private void initViewPager(){ fragments = new Fragment[tabs.size()]; for(int i=0;i<tabs.size();i++){ fragments[i] = OrderListFragment.newInstance(tabs.get(i)); } pagerAdapter = new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public int getCount() { return fragments.length; } @Override public Fragment getItem(int position) { return fragments[position]; } }; viewPager = (ViewPager) findViewById(R.id.viewPager); viewPager.setOffscreenPageLimit(8); viewPager.setAdapter(pagerAdapter); viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener(){ @Override public void onPageSelected(int position){ // TODO Auto-generated method stub radioGroup.check(position); smoothScrollTo(position); curPosition=position; curKeyValue = tabs.get(position); } @Override public void onPageScrolled(int arg0, float arg1, int arg2){ // TODO Auto-generated method stub } @Override public void onPageScrollStateChanged(int arg0){ // TODO Auto-generated method stub } }); viewPager.setCurrentItem(curPosition); } @Override public void onClick(View v) { // TODO Auto-generated method stub } private void smoothScrollTo(final int position){ final int w = radioGroup.getWidth() / radioGroup.getChildCount(); new Handler().postDelayed((new Runnable(){ @Override public void run(){ hScrollView.smoothScrollTo(((RadioButton) radioGroup.getChildAt(position)).getLeft() - w, 0); } }), 5); } }
布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/bg_gray" android:orientation="vertical" > <include layout="@layout/actionbar_comm" /> <HorizontalScrollView android:id="@+id/hScrollView" android:layout_width="match_parent" android:layout_height="48dp" android:background="@android:color/white" android:cacheColorHint="@android:color/transparent" android:fadingEdge="none" android:fadingEdgeLength="0dp" android:gravity="center_vertical" android:overScrollMode="never" android:scrollbars="none" > <RadioGroup android:id="@+id/radioGroup" android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center_vertical" android:orientation="horizontal" > </RadioGroup> </HorizontalScrollView> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="16dp" android:background="@android:color/white" android:flipInterval="30" android:persistentDrawingCache="animation" /> </LinearLayout>
RadioButton --->rb_for_orders.xml
<?xml version="1.0" encoding="utf-8"?> <RadioButton xmlns:android="http://schemas.android.com/apk/res/android" style="@style/radio" android:layout_height="match_parent" android:paddingTop="8dp" android:paddingBottom="8dp" android:paddingLeft="8dp" android:paddingRight="8dp" android:textColor="@color/radio_textcolor_with_blue" />
RadioButton -->背景bg_radio_forum.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:drawable="@drawable/line_bottom_with_blue_bold_for_forum" /> <item android:state_checked="false"> <shape> <solid android:color="@android:color/transparent" /> <stroke android:width="0dp" android:color="@android:color/transparent" /> <corners android:radius="0dp" /> </shape> </item> </selector>
RadioButton -->下划线line_bottom_with_blue_bold_for_forum.xml
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:right="-3dp" android:left="-3dp" android:top="-3dp"> <shape> <stroke android:width="2dp" android:color="@color/primary" /> <solid android:color="@android:color/transparent"/> </shape> </item> </layer-list>
SmartTabLayout
http://www.jcodecraeer.com/a/opensource/2015/0331/2674.html
http://blog.csdn.net/lmj623565791/article/details/42160391
Android TabLayout 库:FlycoTabLayout
http://www.open-open.com/lib/view/open1447294190257.html
发表评论
-
工具类之FragmentUtils
2017-04-01 11:37 1649fragment应该是广大Android开发者都用到过的一个v ... -
左中右结构的行布局
2016-12-19 21:35 1141最近项目要开发一个新版本,发现项目中许多布局大致都相同改动不大 ... -
RecyclerView:带header&footer&加载更多
2015-09-09 16:24 2918接上一篇 由简到繁,循序渐进 实现了: 0,点击&长按 ... -
RecyclerView:带header和footer的grid
2015-09-09 13:47 3000知道原理后,为RecyclerView实现同时带header和 ... -
RecyclerView:带header的grid
2015-09-09 13:01 2391RecyclerView是一个高度可定制性的View 本文将使 ... -
iconify使用文本替换icon测试
2015-08-28 17:12 1654源项目地址 https://github.com/JoanZa ... -
快速上传头像到服务端工具类FaceUtil
2015-07-12 14:22 3018快速迭代用 import java.io.DataOut ... -
LoadMoreListView+SwipeRefreshLayout(分页下拉)基本结构
2015-07-12 13:07 4107一切为了快速迭代 import java.util. ... -
RadioButton+ViewPager+FragmentPagerAdapter快速搭建页面结构
2015-07-12 11:08 2516一切为了快速开发 开发类似界面 import and ... -
为ViewPager设置CirclePageIndicator(小圆点)
2015-07-03 16:54 15249一切为了快速迭代! import android.con ... -
简单实现可以多选的ProductListDialog<T>
2015-06-25 22:33 1214只是一个范例,是为了代码快速迭代而写的 使用了listView ... -
基于上一篇写的SimplePairListPopupWindow<F,S>
2015-06-19 11:15 1494这次使用Pair<F,S>实现一个简单的Simpl ... -
基于上一篇实现的SimpleListPopupWindow<T>
2015-06-19 11:11 1479这次是个简单的PopupWindow,快速迭代用。 imp ... -
实现一个快速简单的SimpleListDialog<T>
2015-06-19 10:59 1703我写这样的文章都是为了快速迭代,所以都写的比较简单,谅解 此 ... -
为ViewPager设置SimpleViewPagerIndicator
2015-02-14 13:45 4678说到ViewPagerIndicator,网上有很多专门的开源 ... -
一个典型的从下部弹上来的Dialog
2014-12-05 14:47 6007典型的看图 import android.app ...
相关推荐
自定义HorizontalScrollView模仿RadioGroup+Fragment+ViewPager的翻页与点击效果,效果完全一样,请放心下载.
自定义HorizontalScrollView模仿RadioGroup+Fragment+Viewpager的翻页与点击效果,效果完全一样.
以HorizontalScrollView与Viewpager实现分页滑动,类似淘宝分页滑动效果,其中头部局可以自定义
HorizontalScrollView中嵌套viewpager的冲突的解决方法
实现横向标题滚动界面,相当于一些客户端,今日头条类似,可滑动标题栏,点击标题栏中的标题会改变状态,并且加入ViewPager控件,滑动界面会显示相对应的标题并且改变状态
ViewPager和Fragment结合,利用(HorizontalScrollView)实现指示器与ViewPager同时滑动的动态效果
Android重写HorizontalScrollView仿ViewPager效果
场景描述,页面中展示三个列表,分别为Lv1,Lv2,Lv3,点击Lv1,加载Lv2,点击Lv2,加载Lv3,当点击Lv2的时候Lv1左移,lv3显示,且...(列表设置宽度为屏幕宽度一半)。 demo中是死数据,使用中,数据可以根据情况动态添加。 ...
自定义一个HorizontalScrollView实现左右横向滑动 使用viewpager+fragment合用,开发类似tabhost效果
仿新浪热门微博页面,标签可动态添加
ViewPager结合HorizontalScrollView滚动导航条案例,页面的滚动跟导航条绑定在一起,选中的itme居中显示
该demo使用DrawerLayout实现了侧滑栏效果,RecyclerView+CardView实现瀑布流效果,glide实现图片加载,photoView实现了图片的查看效果,HorizontalScrollView+RadioGroup实现了横向滑动显示,类似于某视频网站的视频...
StockMarket主流股票行情显示,ScrollView+HorizontalScrollView+listview 联动(截图弄的不是很好)
实现HorizontalScrollView联动ViewPager。HorizontalScrollView做了封装,可根据ViewPager中Fragment的数量,动态计算tab滑动距离。效果绝对赞
1、首先让导航栏横向滑动:HorizontalScrollView中放RadioGroup,RadioGroup中放RadioButton。 2、底部为ViewPager。 3、通过设置ViewPager的页面改变来设置RadioButton的模拟点击事件。 4、监听RadioButton点击,来...
ViewPager+HorizontalScrollView可滑动标题栏demo,demo比较粗糙,只是展示一下自己的思路,不足的地方请大家多多指教
就是实现的可以滚动显示多个的导航标题栏, Viewpager+ HorizontalScrollView
该资源实现了HorizontalScrollView嵌套GridView实现单行滚动效果。选中GridView的item,该item下面的ListView跟着变化,并处理了他们之间的焦点转换问题
ViewPager使用2-ViewPager+顶部HorizontalScrollView+Fragment-仿GooglePlay 顶部可滑动效果 //TODO shep
该资源实现了上下控件联动的效果,特别是可以跳转到另一个Activity