簡體   English   中英

Android使用視圖尋呼機滑動視圖

[英]Android swipe view with view pager

基於android創建帶有選項卡的滑動視圖

http://developer.android.com/training/implementing-navigation/lateral.html

如何在自定義適配器中使用listview並在此示例中使用? 我的意思是顯示簡單的textview,顯示為。

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:padding="6dip" >

    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignParentBottom="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="6dip"
        android:contentDescription="TODO"
        android:src="@drawable/ic_launcher" />

    <TextView
        android:id="@+id/firstLine"
        android:layout_width="fill_parent"
        android:layout_height="26dip"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_toRightOf="@id/icon"
        android:ellipsize="marquee"
        android:singleLine="true"
        android:text="Description"
        android:textSize="12sp" />

    <TextView
        android:id="@+id/secondLine"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/secondLine"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_alignWithParentIfMissing="true"
        android:layout_toRightOf="@id/icon"
        android:gravity="center_vertical"
        android:text="Example application"
        android:textSize="16sp" />

  </RelativeLayout>

結果應為Play商店應用程序。

謝謝。

您可以嘗試檢查我的其他帖子:

Android List視圖布局類似於Google Play

無法使用AndroidDrawer(側邊欄,如Facebook)

也許這就是您想要的:

如何在Android的查看尋呼機頁面中使用滑動手勢?

試試這些鏈接..也許這就是您想要的。

這是更新

1)制作一個適配器來處理您的片段:

public class MyAdapter extends FragmentStatePagerAdapter {

    public MyAdapter(FragmentManager fm) {

        super(fm);

    }

    @Override
    public Fragment getItem(int index) {

        switch (index) {
        case 0:

            return new FirstFragment();

        case 1:

            return new SecondFragment();
        case 2:

            return new ThirdFragment();

        }
        return null;

    }

    @Override
    public int getCount() {
        return 3;
    }

}

2)添加片段:我只是添加一個片段的代碼。 您可以遵循。

public class FirstFragment extends Fragment {

    @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.somefragment, container, false);//You will have your custom layout and add more items. 

    return view;

}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onActivityCreated(savedInstanceState);

    TextView tv = (TextView)getActivity().findViewById(R.id.textview1);
    //You can add different items in here according to your needs. 
    //You will have your own code to do stuff. Like to use a listview or a gridview etc. You will make a separate adapter in a separate class and use that adapter in this onActivityCreated() method.
}


}

3)修改MainActivity:

public class AllActivities extends FragmentActivity implements ActionBar.TabListener {

    public ViewPager viewPager;
    private MyAdapter mAdapter;
    private ActionBar actionBar;
    private String [] tabs = {"FirstFragment","SecondFragment","ThirdFragment"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Initializing all stuff
        viewPager = (ViewPager)findViewById(R.id.pager);

        actionBar = getActionBar();
        mAdapter = new MyAdapter(getSupportFragmentManager());
        viewPager.setAdapter(mAdapter);
        actionBar.setHomeButtonEnabled(true);
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);



        //Add the tabs here
        for(String tab_name:tabs){
            actionBar.addTab(actionBar.newTab().setText(tab_name).setTabListener(this));
        }

        viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener(){

            @Override
        public void onPageSelected(int position){

                //on Page change, that particular page should be selected
                actionBar.setSelectedNavigationItem(position);
            }

            @Override
                public void onPageScrolled(int arg0,float arg1,int arg2){

            }
            @Override
        public void onPageScrollStateChanged(int position){

            }

        });
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction fragmentTransaction) {

        viewPager.setCurrentItem(tab.getPosition());
    }

    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction fragmentTransaction) {



    }

    @Override
    public void onTabReselected(Tab tab, FragmentTransaction fragmentTransaction) {

        viewPager.setCurrentItem(tab.getPosition());

    }
}

在實現此示例之后,您不必擔心此MainActivity。 您只需要添加更多片段,就是將片段添加到適配器並根據該頁面構建頁面。 另外,添加private String [] tabs = {"FirstFragment","SecondFragment","ThirdFragment","You other fragments when you will define"};

要使Google像導航抽屜一樣播放,您可以參考我的前兩個鏈接,然后根據需要進行工作。

希望這對您想要的有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM