TabLayout+Fragment自定义不同界面圆

来源:互联网 发布:淘宝提问回答能删除吗 编辑:程序博客网 时间:2024/05/23 15:19
package com.example.mydemo_18;import android.content.Context;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentManager;import android.support.v4.app.FragmentPagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivity {    TabLayout tabLayout;    ViewPager viewPager;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                 viewPager = (ViewPager) findViewById(R.id.vp);                 viewPager.setAdapter(new CustomAdapter(getSupportFragmentManager(), getApplicationContext()));                 tabLayout = (TabLayout) findViewById(R.id.tablayout);                 tabLayout.setupWithViewPager(viewPager);                 tabLayout.setTabMode(MODE_PRIVATE);                 tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {                     @Override                     public void onTabSelected(TabLayout.Tab tab) {                         viewPager.setCurrentItem(tab.getPosition());                     }                     @Override                     public void onTabUnselected(TabLayout.Tab tab) {                         viewPager.setCurrentItem(tab.getPosition());                     }                     @Override                     public void onTabReselected(TabLayout.Tab tab) {                         viewPager.setCurrentItem(tab.getPosition());                     }                 });             }             private class CustomAdapter extends FragmentPagerAdapter {                 private String fragments [] = {"第一","第二","第三"};                 public CustomAdapter(FragmentManager supportFragmentManager, Context applicationContext) {                     super(supportFragmentManager);                     notifyDataSetChanged();                 }                 @Override                 public Fragment getItem(int position) {                     switch (position){                         case 0:                             return new Fragment1();                         case 1:                             return new Fragment2();                         case 2:                             return new Fragment3();                         default:                             return null;                     }                 }                 @Override                 public int getCount() {                     return fragments.length;                 }                 @Override                 public CharSequence getPageTitle(int position) {                     return fragments[position];                 }             }             }创建Fragment其他类似
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 Liqf on 2017.09.19. */public class Fragment1 extends Fragment {    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        return inflater.inflate(R.layout.fragment1,container,false);    }}


自定义画圆
package com.example.mydemo_18;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.view.View;/** * Created by Liqf on 2017.09.19. */public class LView extends View {    private Paint paint;    public LView(Context context) {        super(context);    }    public LView(Context context, AttributeSet attrs) {        super(context, attrs);    }    @Override    protected void onDraw(Canvas canvas) {        super.onDraw(canvas);        paint = new Paint();// new一个画笔        paint.setColor(Color.BLUE);// 设置画笔颜色        paint.setStyle(Paint.Style.FILL);// 设置画笔填充        canvas.drawCircle(100, 100, 100, paint);// 用画笔在画布上添加一个圆,不只可以添加圆,还可以添加矩形等!        paint.setColor(Color.YELLOW);// 设置画笔颜色        canvas.drawText("第一个圆", 40, 50, paint);// 用画笔在画布上添加文字,中间两个参数对应的是坐标。    }}

 
原创粉丝点击