精华内容
下载资源
问答
  • 继承fragmentfragmentactivity的区别

    千次阅读 2018-05-20 14:00:36
    1、fragmentactivity 继承自activity,用来解决android3.0 之前没有fragment的api,所以在使用的时候需要导入support包,同时继承fragmentActivity,这样在activity中就能嵌入fragment实现你想要的布局效果。...

    1、fragmentactivity 继承自activity,用来解决android3.0 之前没有fragment的api,所以在使用的时候需要导入support包,同时继承fragmentActivity,这样在activity中就能嵌入fragment来实现你想要的布局效果。

    2、当然3.0之后你就可以直接继承自Activity,并且在其中嵌入使用fragment了。

    3、获得Manager的方式也不同

    3.0以下:getSupportFragmentManager();

    3.0以上:getFragmentManager();

    展开全文
  • ActionBar+fragment实现页面导航

    千次阅读 2016-01-03 19:22:09
    继承自AppCompatActivity(ActionBarActivity已过时)使用getSupportActionBar()得到ActionBar, ActionBar.Tab,这里Tab必须设置监听,在监听中实现Fragment的切换。 这里重点提一下,Theme主题一定要适配

    为保证android2.0以上均能运行,使用support.v7库下的actionbar及fragment

    继承自AppCompatActivity(ActionBarActivity已过时)使用getSupportActionBar()得到ActionBar,

    ActionBar.Tab,这里Tab必须设置监听,在监听中实现Fragment的切换。

    这里重点提一下,Theme主题一定要适配,因为我使用的是AppCompatActivity所以,android:theme="@style/Theme.AppCompat.Light" 

    如果不用AppCompatActivity一定要注意使用相应的主题适配,否则会getActionBar/getSupportActionbar的时候拿不到东西,空指针报错

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
        android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
    
        <FrameLayout
            android:id="@+id/context"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    
    </RelativeLayout>
    


    package com.example.yasin.actionbarusing;
    
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentTransaction;
    import android.support.v7.app.ActionBar;
    import android.support.v7.app.ActionBarActivity;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    import android.view.View;
    
    
    public class MainActivity extends AppCompatActivity {
    
        ActionBar actionBar;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            actionBar = getSupportActionBar();
            actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    
            ActionBar.Tab tab1 = actionBar.newTab().setText("Tab1");
            tab1.setTabListener(new MyTabListener(new Fragment1()));
            ActionBar.Tab tab2 = actionBar.newTab().setText("Tab2");
            tab2.setTabListener(new MyTabListener(new Fragment2()));
            actionBar.addTab(tab1);
            actionBar.addTab(tab2);
        }
    
        class MyTabListener implements ActionBar.TabListener{
    
            private Fragment fragment;
            public MyTabListener (Fragment fragment){
                this.fragment=fragment;
            }
    
    
            @Override
            public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
                ft.replace(R.id.context,fragment);
            }
    
            @Override
            public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
    
            }
    
            @Override
            public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
                //ft.remove(fragment);
            }
        }
    
    }
    
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:id="@+id/tv1"
            android:text="fragment1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
    </LinearLayout>
    


    package com.example.yasin.actionbarusing;
    
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    
    /**
     * Created by Yasin on 2016/1/3.
     */
    public class Fragment1 extends Fragment{
        @Nullable
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.fragment1,container,false);
    
            return view;
        }
    }
    
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.yasin.actionbarusing" >
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/Theme.AppCompat.Light" >
            <activity
                android:name=".MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>
    

    效果图:

    展开全文
  • Android 中ActionBar+fragment实现页面导航的实例 为保证android2.0以上均能运行,使用support.v7库下的actionbar及fragment 继承自AppCompatActivity(ActionBarActivity已过时)使用getSupportActionBar()得到...
  • Fragment实现

    2017-07-22 17:28:00
    Fragment是界面和逻辑的结合,对于实现继承Fragment的类,一般可以分一下几块: 1、方法块:  1)重写方法,实现一些...Fragment实现界面逻辑时要获取自己的控件;这些都要在特定的回调函数中才可以进行。  ...

    Fragment是界面和逻辑的结合,对于实现继承Fragment的类,一般可以分一下几块:

    1、方法块:

      1)重写方法,实现一些父类、接口的方法,重要的有

        Fragment的生命周期的回调函数。Fragment需要和Activity关联才能使用,所以可能需要获得对应的Activity对象;Fragment实现界面逻辑时要获取自己的控件;这些都要在特定的回调函数中才可以进行。

      2)私有功能方法实现,实际逻辑实现,以函数为单位,清晰控制各个功能的步骤。

        添加几个初始化方法,初始化配置变量、事件监听器、数据变量等。

      3)共有方法,对外提供功能的

     2、接口:Fragment有时候会需要使用与之关联的activity的功能,可以定义一个接口,由Activity实现,在OnAttach()方法中获取到,然后使用

     3、变量:

      事件监听器

      配置变量、数据变量

        
      这个函数用了依据xml文件初始化界面信息
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_demo, container, false); }

       这个函数是在Activity创建之后调用的,想要获取Fragment中的控件,需要在这个函数中
       使用this.getView().findViewById(R.id)函数来依据id获取对应控件
    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } @Override public void onStart() { super.onStart(); } @Override public void onResume() { super.onResume(); } @Override public void onPause() { super.onPause(); } @Override public void onStop() { super.onStop(); } @Override public void onDestroyView() { super.onDestroyView(); } @Override public void onDestroy() { super.onDestroy(); }   可以在这个函数中改变Menu内容 @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); }
    @Override
    public void onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { return super.onOptionsItemSelected(item); } @Override public void onOptionsMenuClosed(Menu menu) { super.onOptionsMenuClosed(menu); }
      这里可以获取对应Activity对象, @Override
    public void onAttach(Context context) { super.onAttach(context); if (context instanceof OnFragmentInteractionListener) { mListener = (OnFragmentInteractionListener) context; } else { throw new RuntimeException(context.toString() + " must implement OnFragmentInteractionListener"); } } @Override public void onDetach() { super.onDetach(); mListener = null; }

      

       

    转载于:https://www.cnblogs.com/z964166725/p/7222013.html

    展开全文
  • 这篇通过ViewPager + Fragment实现一个类似于微信的界面,之前有用FragmentTabHost实现过类似界面,ViewPager的实现方式相对于FragmentTabHost的方式更简单明了。 ViewPager:  ViewPager继承自ViewGroup,是一个...

    在如今的互联网时代,微信已是一个超级App。这篇通过ViewPager + Fragment实现一个类似于微信的界面,之前有用FragmentTabHost实现过类似界面,ViewPager的实现方式相对于FragmentTabHost的方式更简单明了。

    ViewPager:

      ViewPager继承自ViewGroup,是一个容器类,可以往里添加View.

      ViewPager的使用很简单,通过setAdapter()方法设置一个PagerAdapter即可,这个PagerAdapter需要自己写,实现里面的一些方法。本篇要和Fragment结合,所以实现的是FragmentPagerAdapter类,FragmentPagerAdapter继承自PagerAdapter.

      ViewPager通过addOnPageChangeListener()方法可以设置一个ViewPager.OnPageChangeListener监听,当Pager发生变化时就调用相应的方法。

    Fragment:

      Fragment有自己的生命周期, 有兴趣的可以自己通过各种方式研究下(自己打Log看是最简单的一种方式),这里就不在赘述。和ViewPager结合,有几个Pager就需要实现几个不同的Fragment.

     

    先看一下最后实现的效果图:

    布局上分为三部分:

      最上面的layout_top.xml,主要就是上面那个标题,就一个TextView,中间的ViewPager,最下面的layout_bottom.xml包括三个线性布局,每个线性布局包括一个ImageView和TextView.

    activity_main.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="com.example.administrator.viewpagerl.MainActivity">
    
        <include layout="@layout/layout_top"></include>
        
        <android.support.v4.view.ViewPager
            android:id="@+id/ViewPagerLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1">
        </android.support.v4.view.ViewPager>
    
        <include layout="@layout/layout_bottom"></include>
    
    </LinearLayout>

    layout_top.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="3dp"
        android:paddingBottom="3dp"
        android:background="@android:color/darker_gray">
    
        <TextView
            android:id="@+id/ViewTitle"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="5dp"
            android:textSize="25sp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
    </LinearLayout>

    layout_bottom.xml  

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal" android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:paddingTop="3dp"
        android:paddingBottom="3dp"
        android:background="@android:color/holo_green_light">
    
        <LinearLayout
            android:id="@+id/firstLinearLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:gravity="center_horizontal"
            android:layout_weight="1">
            <ImageView
                android:id="@+id/firstImageView"
                android:background="@drawable/tab_weixin"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <TextView
                android:id="@+id/firstTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="微信"
                />
        </LinearLayout>
        <LinearLayout
            android:id="@+id/secondLinearLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:gravity="center_horizontal"
            android:layout_weight="1">
            <ImageView
                android:id="@+id/secondImageView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/tab_setting"/>
            <TextView
                android:id="@+id/secondTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="朋友"
                />
        </LinearLayout>
        <LinearLayout
            android:id="@+id/threeLinearLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:gravity="center_horizontal"
            android:layout_weight="1">
            <ImageView
                android:id="@+id/threeImageView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/tab_find"/>
            <TextView
                android:id="@+id/threeTextView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="发现"
                />
        </LinearLayout>
    </LinearLayout>

    上面有提到,ViewPager需要实现一个Pageradapter,很简单继承FragmentPagerAdapter,实现里面的getItem()和getCount()方法即可。

    ViewPagerFragmentAdapter .java

    package com.example.administrator.viewpagerl;
    
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentPagerAdapter;
    import android.util.Log;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class ViewPagerFragmentAdapter extends FragmentPagerAdapter {
    
        private List<Fragment> mList = new ArrayList<Fragment>();
        public ViewPagerFragmentAdapter(FragmentManager fm , List<Fragment> list) {
            super(fm);
            this.mList = list;
        }
    
        @Override
        public Fragment getItem(int position) {
            return mList.get(position);
        }
    
        @Override
        public int getCount() {
            return mList != null ? mList.size() : 0;
        }
    }

    ViewPager的每个Pager都需要一个Fragment,Fragment会实例化布局,显示在ViewPager的每个Pager中

    ChatFragment.java

    package com.example.administrator.fragment;
    
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.TextView;
    
    import com.example.administrator.viewpagerl.R;
    
    public class ChatFragment extends Fragment {
    
        View mView;
        @Nullable
        @Override
        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            if (mView == null) {
                mView = inflater.inflate(R.layout.fragment_layout,null);
            }
            ((TextView)mView.findViewById(R.id.mTextView)).setText("聊天界面");
            return mView;
        }
    }

    这里需要三个Fragment,因为这里使用的布局很简单,三个布局基本是一致的,FriendFragment、FindFragment 这里就都不贴出代码了。微信里面的聊天列表,朋友列表都是在Fragment里面实例化的布局里有个ListView,通过ListView的方式实现的,这里只是为了记录ViewPager就没有实现那些,有兴趣的可以自己搞搞,其实也不难。

      在Activity里面只需要给ViewPager设置上面那个Adapter,设置一个监听知道Pager如何变化即可。点击最下面微信、朋友、发现三个按钮,通过ViewPager的setCurrentItem()方法就能跳转到对应的Pager,除了这些还有就是通过一些简单的逻辑,控制一下界面的改变就行,没有太难的东西。

    MainActivity.java

    package com.example.administrator.viewpagerl;
    
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.view.ViewPager;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.LinearLayout;
    import android.widget.TextView;
    
    import com.example.administrator.fragment.ChatFragment;
    import com.example.administrator.fragment.FindFragment;
    import com.example.administrator.fragment.FriendFragment;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        private static final String TAG = "MainActivity.TAG";
        TextView titleTextView;
        public LinearLayout firstLinearLayout;
        public LinearLayout secondLinearLayout;
        public LinearLayout threeLinearLayout;
        ViewPager mViewPager;
        ViewPagerFragmentAdapter mViewPagerFragmentAdapter;
        FragmentManager mFragmentManager;
    
        String[] titleName = new String[] {"微信","朋友","发现"};
        List<Fragment> mFragmentList = new ArrayList<Fragment>();
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            mFragmentManager = getSupportFragmentManager();
            setContentView(R.layout.activity_main);
            initFragmetList();
            mViewPagerFragmentAdapter = new ViewPagerFragmentAdapter(mFragmentManager,mFragmentList);
            initView();
            initViewPager();
        }
    
        @Override
        protected void onResume() {
            super.onResume();
        }
    
        public void initViewPager() {
            mViewPager.addOnPageChangeListener(new ViewPagetOnPagerChangedLisenter());
            mViewPager.setAdapter(mViewPagerFragmentAdapter);
            mViewPager.setCurrentItem(0);
            titleTextView.setText(titleName[0]);
            updateBottomLinearLayoutSelect(true,false,false);
        }
    
        public void initFragmetList() {
            Fragment chat = new ChatFragment();
            Fragment friend = new FriendFragment();
            Fragment find = new FindFragment();
            mFragmentList.add(chat);
            mFragmentList.add(friend);
            mFragmentList.add(find);
        }
    
        public void initView() {
            titleTextView = (TextView) findViewById(R.id.ViewTitle);
            mViewPager = (ViewPager) findViewById(R.id.ViewPagerLayout);
            firstLinearLayout = (LinearLayout) findViewById(R.id.firstLinearLayout);
            firstLinearLayout.setOnClickListener(this);
            secondLinearLayout = (LinearLayout) findViewById(R.id.secondLinearLayout);
            secondLinearLayout.setOnClickListener(this);
            threeLinearLayout = (LinearLayout) findViewById(R.id.threeLinearLayout);
            threeLinearLayout.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.firstLinearLayout:
                    mViewPager.setCurrentItem(0);
                    updateBottomLinearLayoutSelect(true,false,false);
                    break;
                case R.id.secondLinearLayout:
                    mViewPager.setCurrentItem(1);
                    updateBottomLinearLayoutSelect(false,true,false);
                    break;
                case R.id.threeLinearLayout:
                    mViewPager.setCurrentItem(2);
                    updateBottomLinearLayoutSelect(false,false,true);
                    break;
                default:
                    break;
            }
        }
        private void updateBottomLinearLayoutSelect(boolean f, boolean s, boolean t) {
            firstLinearLayout.setSelected(f);
            secondLinearLayout.setSelected(s);
            threeLinearLayout.setSelected(t);
        }
        class ViewPagetOnPagerChangedLisenter implements ViewPager.OnPageChangeListener {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    //            Log.d(TAG,"onPageScrooled");
            }
            @Override
            public void onPageSelected(int position) {
                Log.d(TAG,"onPageSelected");
                boolean[] state = new boolean[titleName.length];
                state[position] = true;
                titleTextView.setText(titleName[position]);
                updateBottomLinearLayoutSelect(state[0],state[1],state[2]);
            }
            @Override
            public void onPageScrollStateChanged(int state) {
                Log.d(TAG,"onPageScrollStateChanged");
            }
        }
    }

    其实就这么简单,只要动动手很容易实现的。有什么不对的地方,还望大神指点。

    展开全文
  • 1、fragmentactivity 继承自activity,用来解决android3.0 之前没有fragment的api,所以在使用的时候需要导入support包,同时继承fragmentActivity,这样在activity中就能嵌入fragment实现你想要的布局效果。
  • 有关用Fragment实现仿淘宝底部菜单栏 效果图如下: 一、Fragment的简单介绍和使用 1.什么是Fragment fragment它自己的中文意思:碎片; 一个可以将activity拆分成几个完全独立封装的可重用的组件,每个组件有自己...
  •  使用Android 自带API实现TabHost方法:继承TabAcitivity和不继承该类两种方法:具体实现参考http://blog.csdn.net/harvic880925/article/details/17120325 二、其他组合方法:   1 单独使用ViewPa
  • viewPager是v4包的,所以如果要使用viewPager来实现滑动效果的话 ...1.必须要让activity继承自fragmentactivity 2.fragment必须是v4包下的 3.获取Fragmentmanager时要用getSupportFragmentManager()
  • TabActivity是一个特殊的Activity,它继承自ActivityGroup,内部可容纳多个Activity,违反了Activity的单一窗口原则,虽风靡一时却难免被抛弃。 3.0版本出现之后,Google推出了一个新的类Fragment,且TabAct
  • FragmentTabHost继承TabHost,增加了对Fragment的支持。  Fragment是从Android3.0才引入,Fragment有自己单独的生命周期,在Activity运行的时候可以很方便的使用。 这里只是介绍FragmentTabHost的用法。   1. 先...
  • 这篇通过ViewPager + Fragment实现一个类似于微信的界面,之前有用FragmentTabHost实现过类似界面,ViewPager的实现方式相对于FragmentTabHost的方式更简单明了。 ViewPager:  ViewPager继承自ViewGroup,是一个...
  • 精简代码实现Activity 回退到任意Fragment. 需求背景:一般如果从Fragment跳转到一个...查了下资料,发现有人用自定义一个接口然后继承该接口实现的。然而鄙人最怕麻烦,经过测试,这样是比较精简的方法便可以实现
  • 1、创建4个自定义Fragment类继承自Fragment,并且创建对应的布局文件,之后在Fragment类文件内部加载布局文件 @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup ...
  • FragmentFragmentActivity与Activity的关系

    千次阅读 2014-07-18 15:10:16
    1、fragmentactivity 继承自activity,用来解决android3.0 之前没有fragment的api,所以在使用的时候需要导入support包,同时继承fragmentActivity,这样在activity中就能嵌入fragment实现你想要的布局效果。...
  • 1、fragmentactivity 继承自activity,用来解决android3.0 之前没有fragment的api,所以在使用的时候需要导入support包,同时继承fragmentActivity,这样在activity中就能嵌入fragment实现你想要的布局效果。...
  • 1.创建若干个Fragment:FragmentA,FragmentB,FragmentC ,FragmentD ...2.新建一个Adapter继承自FragmentPagerAdapter,需要重写的方法只有:  1).构造方法  2).public Fragment getItem(int arg0) {}  3).pub
  • 1.新建RecycleViewAdapter类,继承自RecyclerView.Adapter<RecycleViewAdapter>,添加如下方法: private View.OnClickListener getOnClickListener(final int position) { return new View....
  • 1、fragmentactivity 继承自activity,用来解决android3.0 之前没有fragment的api,所以在使用的时候需要导入support包,同时继承fragmentActivity,这样在activity中就能嵌入fragment实现你想要的布局效果。...
  • 本文记录如何实现同个Activity中存在多个Fragment多次切换依次返回之后或者任意返回。 依次返回 思路:自己定义一个栈,将我们每次显示的Fragment放到我们的栈里面,想要依次返回的时候就从栈顶开始弹栈,...
  • ———布局—————— ...自定义四个类继承fragment,里面添加自己每个页面的布局OK了package yunifang.bawei.administrator.yunifang; import android.support.v4.app.FragmentActivity; import andro
  • 本文主要介绍用Fragment的方式实现Tab的效果。一、准备工作1.1 添加图片资源自己需要准备一些图片,图片大小为30*30,格式为png1.2 创建一些布局文件需要创建一些布局文件,如下图。每个布局文件中的代码,会在后面...
  • 总结: 1、FragmentActivity继承自Activity,用来解决3.0(API:11)之前没有fragment的兼容性问题,所以在使用的时候需要导入v4 support包,同时继承FragmentActivity,这样在Activity中就能嵌入Fragment实现布局...
  • 话不多说,先上图 前两篇文章都提到了fragment和viewpager,那我就简要地介绍下...继承自HorizontalScrollView,用作页面切换指示器,因使用简便功能强大而广泛使用在App中。 实现步骤 activity_main2.xml ...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 187
精华内容 74
关键字:

继承自fragment实现