侧滑框
来源:互联网 发布:seo实战什么意思 编辑:程序博客网 时间:2024/06/06 23:15
//布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.kjjh.MainActivity"> <HorizontalScrollView android:id="@+id/hs" android:layout_width="368dp" android:layout_height="wrap_content" tools:layout_editor_absoluteX="8dp" tools:layout_editor_absoluteY="0dp"> <LinearLayout android:id="@+id/linearlayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" /> </HorizontalScrollView> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="368dp" android:layout_height="495dp" android:layout_below="@id/hs" tools:layout_editor_absoluteY="8dp" /></RelativeLayout>
//Main函数
package com.example.kjjh;import android.graphics.Color;import android.os.Bundle;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.view.View;import android.view.ViewGroup;import android.widget.HorizontalScrollView;import android.widget.LinearLayout;import android.widget.TextView;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private String[] titles; private List<TextView> list; private HorizontalScrollView hs; private LinearLayout linearlayout; private ViewPager viewpager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取id hs = (HorizontalScrollView)findViewById(R.id.hs); linearlayout = (LinearLayout)findViewById(R.id.linearlayout); viewpager = (ViewPager)findViewById(R.id.viewpager); //创建数组,存放标题 titles = new String[] { "头条", "娱乐", "科技", "信息", "八卦", "北京", "上海", "天津","重庆", "大大燕网" }; //创建集合,存放textview list = new ArrayList<TextView>(); //创建textview for (int i = 0; i < titles.length; i++) { //创建textview TextView textView = new TextView(MainActivity.this); textView.setText(titles[i]); textView.setTextSize(20); textView.setId(i+1000); //点击事件 textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { int id = view.getId(); viewpager.setCurrentItem(id-1000); } }); //刚进程序第一个默认红色,其他为黑色 if(i ==0){ textView.setTextColor(Color.RED); }else { textView.setTextColor(Color.BLACK); } LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); layoutParams.setMargins(20,10,20,10); //添加到布局中 linearlayout.addView(textView,layoutParams); //添加到集合 list.add(textView); } //为viewpager设置适配器 viewpager.setAdapter(new Myadapter(getSupportFragmentManager())); //viewpager的监听 viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { //滑动改变颜色 @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { //list中存的是 textview for (int i = 0; i < list.size(); i++) { if(position==i){ list.get(i).setTextColor(Color.RED); }else{ list.get(i).setTextColor(Color.BLACK); } } //获取当前的textview TextView textView = list.get(position); //width是每次滑动的距离 int width = textView.getWidth()+10; //让scrollView滑动 滑动距离是textview之间的间距 hs.scrollTo(width*position,0); } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } }); } class Myadapter extends FragmentPagerAdapter { public Myadapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return Fragment1.getinstance(list.get(position).getText().toString()); } @Override public int getCount() { return list.size(); } }}package com.example.kjjh;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;import android.widget.TextView;//Fragmentpublic class Fragment1 extends Fragment { public static Fragment getinstance(String title) { //创建Fragment1 Fragment1 fragment1 = new Fragment1(); //创建bundle Bundle bundle = new Bundle(); //添加值 bundle.putString("title", title); //把值添加到Arguments中 fragment1.setArguments(bundle); return fragment1; } @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { //获取Arguments Bundle arguments = getArguments(); //获取值 String title = arguments.getString("title"); //创建textview TextView textView = new TextView(getActivity()); //设置值 textView.setText(title); return textView; }}
阅读全文
0 0
- 侧滑框
- 自定义侧滑框
- 侧滑框——SlidingMenu
- 自己实现侧滑框
- DrawerLayout侧滑框和Fragemnt传至
- SlidingMenu(侧滑框)的使用、ViewPager冲突处理
- SlidingMenu(侧滑框)的使用、ViewPager冲突处理
- SlidingMenu(侧滑框)的使用、ViewPager冲突处理
- Android中SlidingMenu(侧滑框)的使用、ViewPager冲突处理
- Java 集合
- Redis集群配置和部署 spring整合redisCluster
- 鼠标事件
- AD
- 在retrofit+Rxjava中如何取得状态码非200(出现错误)时的response里的body
- 侧滑框
- 关于C++中char 型变量的地址输出
- CSS行高(line-height)及文本垂直居中原理
- Python自动化(四)插入排序
- hbase表迁移问题汇总
- html5之canvas绘制
- JEESZ-Redis分布式缓存安装和使用
- Python中的split()函数的用法
- 移动端导航滑动案例