高级控件-ViewPager
来源:互联网 发布:three.js 工具 编辑:程序博客网 时间:2024/05/20 03:41
ViewPager:现在用的比较多的页面的左右滑动
需要使用适配器
一般在滑动的时候设置监听,修改页面所显示的内容
属性:
setRadius:设置半径
setPageColor:点的背景颜色
setBackgroundColor:控件的背景颜色
setFillColor:设置点的背景颜色
setStrokeColor:设置点背景的边框颜色
下面有两个案例:
ViewPager+布局xml(View)------>LinearLayout,RelativeLayout,FrameLayout:只需要把布局文件转换成view
效果就是可以左右滑动显示页面,页面没有东西可以点击
布局代码:
只需要实现一个ViewPager控件就可以,设置一个ID在JAVA代码调用
<?xml version="1.0" encoding="utf-8"?><LinearLayout 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.android_studio_10.MainActivity"> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/vp_main_image"> </android.support.v4.view.ViewPager></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="300dp" android:layout_height="300dp" android:background="#ff0000" android:layout_gravity="center" /> <TextView android:layout_width="250dp" android:layout_height="250dp" android:background="#00ff00" android:layout_gravity="center" /> <TextView android:layout_width="200dp" android:layout_height="200dp" android:background="#000000" android:layout_gravity="center" /> <TextView android:layout_width="150dp" android:layout_height="150dp" android:background="#f5e42e" android:layout_gravity="center" /></FrameLayout>
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="左上按钮" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="右上按钮" android:layout_gravity="right" /> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:layout_gravity="center" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="中间按钮" android:layout_gravity="center" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="按钮左下" android:layout_gravity="bottom" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" android:orientation="vertical" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="右下按钮" android:layout_gravity="right" /> </LinearLayout> </LinearLayout></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="按钮1" android:id="@+id/button_relative_b1" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="按钮2" android:id="@+id/button_relative_b2" android:layout_toRightOf="@id/button_relative_b1" android:layout_below="@id/button_relative_b1" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="按钮3" android:layout_toRightOf="@id/button_relative_b2" android:layout_above="@id/button_relative_b2" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="按钮4" android:layout_toLeftOf="@id/button_relative_b2" android:layout_below="@id/button_relative_b2" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="按钮5" android:layout_toRightOf="@id/button_relative_b2" android:layout_below="@id/button_relative_b2" /></RelativeLayout>上面是三个布局代码,显示内容就可以了。
下面是Java代码:
package com.example.android_studio_10;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private ViewPager vp_main_image; private int images[]={R.layout.frame,R.layout.linear,R.layout.relative}; private List<View> views=new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); vp_main_image = (ViewPager) findViewById(R.id.vp_main_image); //for循环把布局文件转成View加入集合 for (int i = 0; i < images.length; i++) { View view=getLayoutInflater().inflate(images[i],null); views.add(view); } vp_main_image.setAdapter(new MyAdapter()); } //适配器 class MyAdapter extends PagerAdapter{ @Override public int getCount() { return views.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { View v=views.get(position); container.addView(v); return v; } @Override public void destroyItem(ViewGroup container, int position, Object object) { View v=views.get(position); container.removeView(v); } }}
ViewPager+Activity(View)------>QQ好友分组 + ListView分组:还需要把java文件转换成view
这里就只展示把java问价转换成view的代码了
package com.example.android_studio_10;import android.app.LocalActivityManager;import android.content.Intent;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import java.util.ArrayList;import java.util.List;/** * Created by lx on 2017/6/14. */public class ViewPaperActivity extends AppCompatActivity { private ViewPager vp_zy2_image; private List<View> views=new ArrayList<>(); private LocalActivityManager localActivityManager; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_zy2_view); vp_zy2_image = (ViewPager) findViewById(R.id.vp_zy2_image); localActivityManager = new LocalActivityManager(this,true); localActivityManager.dispatchCreate(savedInstanceState); //把java文件转成view Intent intent = new Intent(this,ViewPaper2Activity.class); views.add(localActivityManager.startActivity("Zy2Activity",intent).getDecorView()); Intent intent2 = new Intent(this,ViewPaper3Activity.class); views.add(localActivityManager.startActivity("Zy3Activity",intent2).getDecorView()); vp_zy2_image.setAdapter(new MyAdapter()); } //适配器 class MyAdapter extends PagerAdapter { @Override public int getCount() { return views.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, int position) { View v=views.get(position); container.addView(v); return v; } @Override public void destroyItem(ViewGroup container, int position, Object object) { View v=views.get(position); container.removeView(v); } }}
阅读全文
0 0
- 高级控件-ViewPager
- 高级控件ViewPager
- 安卓高级控件之ViewPager
- 安卓高级控件之ViewPager
- Android高级控件——GridView ScrollView ViewPager (上)
- Android高级控件系列六之ViewPager的使用
- 9.高级控件(三)之 Gallery及ViewPager
- [控件]ViewPager
- ViewPager高级用法大全
- Android:ViewPager高级使用
- Android高级控件——ViewPager、GridView、popwindow、SlideMenu(下)
- 高级控件
- 高级控件
- [C#][控件]高级控件
- 初识ViewPager控件
- ViewPager使用控件问题
- 自定义控件-ViewPager篇
- UI控件ViewPager浅析
- 不需要登录的app业务如何记录用户状态
- AJAX
- jquery.infinitescroll无限加载插件
- python监测mysql,并自动重启
- 使用pycharm学习python
- 高级控件-ViewPager
- SVG+JS path等值变化实现CSS3兴叹的图形动画
- Java学习之jdbc加强
- leetcode Algorithms 7. Reverse Integer
- 兼容性之停止事件冒泡和阻止默认行为
- React学习-- React源码(3)生命周期的管理艺术
- C#在线预览文件
- Java中十六进制转换 Integer.toHexString()
- c#日期时间格式说明