Fork me on GitHub

实现登录和注册透明,仿猎趣登录和注册界面实现

实现登录和注册透明,仿猎趣登录和注册界面实现:

1.首先设置透明效果:

在Android中,有时需要我们做出透明的效果来满足用户更好的体验,大概总结下,在Android中有2种实现方法:

1.在配置文件内的activity属性上添加:
android:theme="@android:style/Theme.Translucent" 就ok
2.在res/string下创建res-values-colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="transparent">#9000</color>
</resources>
在创建res-values-style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="translucent">
<item name="android:windowBackground">@color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>
</style>
</resources>
最后在配置文件中需要实现透明效果的Activity中添加
android:theme="@style/translucent"
如果想设置所有的activity都使用这个风格,可以把这句标签语句添加在<application>中。

最后运行程序会发现整个界面都被蒙上一层半透明了。最后可以把背景色#9000换成#0000,运行程序后,就全透明了,看得见背景下的所有东西可以却都操作无效

 

一、实现多面界面滑动切换方法有多种,就目前我所知道的大致有三种:

1.ViewFlipper + Animation

2.ViewGroup + Scroller + VelocityTracker

3.ViewPager

本文主要介绍第三种ViewPager实现方式

 

二、ViewPagergoogle Android SDk中自带的一个附加包(android-support-v4.jar)的一个类可以用来实现屏幕间的切换。如下图:

Android <wbr>实现多页界面左右滑动切换效果之入门

如果在工程中没有看见该附加包,请及时更新sdk,并勾选Extras/Android Support Library安装

三、ViewPager的简单使用

创建工程ViewPagerDemo1

1.主布局文件activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
 <android.support.v4.view.ViewPager
     android:id="@+id/viewPager"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent">
     <requestFocus />
 </android.support.v4.view.ViewPager>
</RelativeLayout>

2.子页面布局 layout1,xml,layout2,xml,layout3_xml

     <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="#ff0000ff"
    android:gravity="center">
   
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="第一页"
        android:textColor="#ffffffff"
        android:textSize="30sp"/>
</LinearLayout>

本例子三个页面布局一样

3.主窗口代码:

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initViewPager();
    }
   
    private void initViewPager(){
     ViewPager viewPager = (ViewPager)findViewById(R.id.viewPager);
     
     View view1 = LayoutInflater.from(this).inflate(R.layout.layout1, null);
     View view2 = LayoutInflater.from(this).inflate(R.layout.layout2, null);
     View view3 = LayoutInflater.from(this).inflate(R.layout.layout3, null);
     
     ArrayList<View> views = new ArrayList<View>();
     views.add(view1);
     views.add(view2);
     views.add(view3);
     
     MYViewPagerAdapter adapter = new MYViewPagerAdapter();
     adapter.setViews(views);
     viewPager.setAdapter(adapter);
    }
}

4.另外还需继承PagerAdapter类实现自己MYPagerAdapter适配器类

public class MYViewPagerAdapter extends PagerAdapter {

 private ArrayList<View> views;
 
 public void setViews(ArrayList<View> views) {
  this.views = views;
 }

 @Override
 public int getCount() {
  return views.size();
 }

 @Override
 public boolean isViewFromObject(View arg0, Object arg1) {
  return arg0 == arg1;
 }

 @Override
 public void destroyItem(View container, int position, Object object) {
  
  ((ViewPager)container).removeView(views.get(position));
 }

 @Override
 public Object instantiateItem(View container, int position) {
  ((ViewPager)container).addView(views.get(position));
  return views.get(position);
 }

工程下载地址:http://115.com/file/e75fxvro#ViewPagerDemo1.rar

代码运行效果如下:

 


Android <wbr>实现多页界面左右滑动切换效果之入门

Android <wbr>实现多页界面左右滑动切换效果之入门

 

posted @ 2016-05-17 08:56  上海_布丁  阅读(401)  评论(0编辑  收藏  举报