ImageSwitcher TextSwitcher
[功能]
* 之所以把ImageSwitcher TextSwitcher 放在一起 因为二者实在太像了 使用起来基本一样
* 严格意义来说 ImageSwitcher TextSwitcher 和 ViewFlipper 也基本一样 都能包含数个View 且View直接相互切换可以设置渐变动画 不同的就是 前二者里面要显示的View比较固定 为ImageView TextView 而 ViewFlipper 里面可以为任意View
[ImageSwitcher 使用]
1. 定义一个含有ImageSwitcher 的 main.xml 还可以有2个Button 用于切换控制用
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/previousButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Previous"
/>
<Button
android:id="@+id/nextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next"
/>
</LinearLayout>
<ImageSwitcher
android:id="@+id/switcher"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
>
</ImageSwitcher>
</LinearLayout>
2. 各个View 的初始化 并设置 ImageSwitcher 的渐变动画效果
previous = (Button) findViewById(R.id.previousButton);
next = (Button) findViewById(R.id.nextButton);
switcher = (ImageSwitcher) findViewById(R.id.switcher);
switcher.setFactory(this);
switcher.setInAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_in));
switcher.setOutAnimation(AnimationUtils.loadAnimation(this,
android.R.anim.fade_out));
3. 以上需要特别说明的是
switcher = (ImageSwitcher) findViewById(R.id.switcher);
switcher.setFactory(this);
因为有这一行的定义
switcher.setFactory(this);
这就要求该Activity 必须如下声明 而且要定义 public View makeView() 供ImageSwitcher 的第一张用 返回一个 ImageView
public class MyImageSwicherUsage extends Activity
implements ViewSwitcher.ViewFactory{
@Override // the first View
public View makeView() {
// TODO Auto-generated method stub
ImageView iv = new ImageView(this);
iv.setImageResource(resource[1]);
return iv;
}
4. 还有一点需要特别注意的是: ImageSwitcher 显示Image的方法
switcher.setImageResource(int)
5. 因为考虑到 循环切换 的问题,所以在显示知道Image id 的时候 做了一些改动 如下:
private int fitPrevious(int i){
int aint = i;
if(aint <= 0){
aint = aint + resource.length;
}
aint = aint - 1;
return aint;
}
private int fitNext(int i){
int aint = i + 1;
if(aint > resource.length - 1){
aint = aint - resource.length;
}
return aint;
}
6. 更详细或其他问题 可以见代码 或发贴说明一下
[TextSwitcher 使用]
1. 二者的使用基本相同 不过 还是有一些差别 如下:
× 其 main.xml 如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/previousButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Previous"
/>
<Button
android:id="@+id/nextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next"
/>
</LinearLayout>
<TextSwitcher
android:id="@+id/switcher"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
>
</TextSwitcher>
</LinearLayout>
× 显示指定内容 方法如下:
switcher.setText(String);
详情见代码! done.
分享到:
相关推荐
ImageSwitcher和TextSwitcher是Android SDK提供的一对控件,专门用于实现这样的动态切换效果。下面我们将深入探讨这两个控件的工作原理、使用方法以及实际应用中的注意事项。 首先,ImageSwitcher是用于在两个...
对于ImageSwitcher和TextSwitcher,只需要确保添加的视图类型正确(ImageView或TextView),并且可以使用`setImageResource()`或`setText()`来更新内容。 **源码分析** 理解这些组件的工作原理,可以通过查看它们的...
这个实例是关于如何使用ViewSwitcher的子类ImageSwitcher和TextSwitcher来实现动态更换图片和文本的交互效果。下面将详细介绍这两个控件及其使用方法。 首先,**ViewSwitcher** 是一个基础容器,可以包含两个子视图...
在Android开发中,`TextSwitcher`和`ImageSwitcher`是两种非常实用的视图切换组件,主要用于在界面上动态地展示文本或图像。它们都继承自`ViewSwitcher`类,提供了一种平滑过渡的效果,使得界面在内容更新时更加流畅...
将ImageSwitcher与Gallery结合使用,可以通过设置Gallery的OnItemSelectedListener监听器,在用户选择新的图片时,更新ImageSwitcher的内容。首先,为Gallery设置一个自定义适配器,这个适配器会返回每个图片对应的...
ImageSwitcher是Android开发中一个不太常见的组件,主要用于在多个图像之间进行切换,通常用于实现类似轮播图或图片预览的功能。虽然它可能不像其他常见的UI组件那样广泛使用,但在某些特定场景下,它的功能非常实用...
在Android开发中,`Gallery`和`ImageSwitcher`是两个非常实用的UI组件,它们可以结合使用来创建丰富的图像浏览体验。`Gallery`组件是一个水平滚动的视图,可以展示多个项目,而`ImageSwitcher`则是一个用于在两张...
本实例将深入探讨如何使用和自定义ImageSwitcher,以及它在实际项目中的应用。 首先,ImageSwitcher继承自ViewSwitcher,它自身包含两个ImageView子视图,可以实现图片的无缝切换。默认情况下,ImageSwitcher会提供...
总结来说,`Galley`和`ImageSwitcher`的组合使用是Android开发中实现滑动选择头像的一个高效且直观的方法。`Galley`提供了方便的滑动浏览体验,而`ImageSwitcher`则确保了图片切换的平滑过渡。通过理解这两个控件的...
通过以上步骤,我们就成功地使用`ImageSwitcher`结合`HorizontalScrollView`创建了一个图片浏览相册。这种方案不仅避免了过时的`Gallery`组件,而且提供了更大的灵活性和自定义空间,能够满足不同应用的需求。在实际...
在本文中,我们将深入探讨如何在Android应用程序中有效地使用ImageSwitcher,以及它的一些关键特性和应用场景。 ImageSwitcher继承自ViewSwitcher,并且主要用来实现图片的平滑过渡效果,常用于轮播图、广告展示等...
在本实例中,我们将深入探讨如何在Android应用中使用ImageSwitcher来实现实时更换图片的功能。 首先,ImageSwitcher继承自ViewSwitcher,ViewSwitcher是Android提供的一个可以切换不同视图的容器,它可以在两个子...
本文将详细介绍Android的ImageSwitcher组件及其使用方法。 **1. ImageSwitcher的基本概念** ImageSwitcher是ViewSwitcher的子类,继承自ViewFlipper,主要用于在两个或多个ImageView之间进行平滑切换。它的主要...
本案例源码是将这两个组件结合使用,为用户提供了在主页上滚动浏览小图片,然后点击小图放大显示在 `ImageSwitcher` 控件上的功能。这种设计模式在许多应用程序的首页或相册界面中很常见,能够提供流畅且直观的用户...
图像切换器使用ImageSwitcher表示,用于实现类似于Windows操作系统下的“Windows照片查看器”中的上一张、下一张切换图片的功能。在使用ImageSwitcher时,必须实现ViewSwitcher.ViewFactory接口,并通过makeView()...
接下来,我们将深入探讨这个主题,了解如何使用"imageswitcher"实现图片预览切换功能,并探索相关的技术知识点。 首先,我们来讨论"imageswitcher"的基本工作原理。通常,这种工具会基于某种编程语言(如JavaScript...
它们各自具有独特的优势,结合使用时,可以创建出功能丰富、视觉效果良好的图像浏览界面。 #### Gallery 组件解析 `Gallery` 是一个水平滚动的视图容器,主要用于展示一系列图像或小部件。在给定的代码片段中,`...
这里我们将深入探讨如何使用`ImageSwitcher`组件来达成这一目标,同时对比`ViewFlipper`和`ViewPager`的区别和应用场景。 `ImageSwitcher`是Android SDK中的一个视图切换组件,它继承自`ViewSwitcher`类,主要用于...
4. **生命周期管理**:在使用`ImageSwitcher`时,需要注意在适当的时候停止和启动加载新图片的操作,以避免内存泄漏或性能问题。 结合使用`Gallery`和`ImageSwitcher`: 在示例中,可能的实现方式是将`Gallery`作为...