亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

HorizontalScrollView+RadioGroup+ViewPager+Fr

系統 1725 0
快速迭代用

HorizontalScrollView+RadioGroup+ViewPager+FragmentPagerAdapter基本結構

    
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

HorizontalScrollView+RadioGroup+ViewPager+FragmentPagerAdapter基本結構


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国内精品久久影院 | 老子影院伦不卡欧美 | 中文久久| 精品亚洲一区二区三区 | 青草娱乐极品免费视频 | 欧美亚洲国产成人精品 | 深夜在线看 | 亚洲精品宾馆在线精品酒店 | 午夜日韩| 成人午夜天 | 日日操夜夜操免费视频 | 亚洲爽爽 | 好爽毛片一区二区三区四区 | 日本欧美强乱视频在线 | 天天色天天草 | 国产一区二区三区在线视频 | 亚洲人成在线观看 | 国产在线观看一区二区三区四区 | 欧美一区精品二区三区 | 天天躁天天碰天天看 | 老司机午夜影院 | 国产一级特黄aa级特黄裸毛片 | 就草草在线观看视频 | 久久手机精品视频 | 欧美一级网址 | 亚洲欧美日韩国产精品一区 | 亚洲大胆精品337p色 | 国产精品福利在线观看免费不卡 | 国产激情一区二区三区 | 99精品福利视频 | 91国视频 | 天天摸日日摸 | 国产香蕉在线视频 | 国产一级久久免费特黄 | 日本精品久久久一区二区三区 | 国产精品国产精品 | 一区二区在线不卡 | 国产一区二区亚洲精品天堂 | 91最新国产| 九九爱这里只有精品 | 久久久久久久国产精品毛片 |