0

我用过 Flipper。我们通常在 Flipper 标签中添加布局。如下

<flipper>
   <LinearLayout1>
   <LinearLayout2>
</flipper>

在我的程序中,我想在脚蹼中显示三个活动(应该一个接一个地翻转。)

每个活动分别执行一些任务。

当我将该布局文件添加到鳍状肢标签时。如下图所示,

(这是我的主要 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="horizontal" >

<ViewFlipper
    android:id="@+id/ViewFlipper"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff" >

    <include
        android:id="@+id/screenxyzf"
        layout="@layout/screenxyz" />

    <include
        android:id="@+id/screenabcf"
        layout="@layout/screenabc" />

    <include
        android:id="@+id/activity_mainf"
        layout="@layout/activity_main" />
</ViewFlipper>

</LinearLayout>

// 我的 Java 代码...

package com.example.exampledemo3;

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.ViewFlipper;

public class Swipe extends Activity {

ViewFlipper flipper;
float lastX;
View.OnTouchListener gestureListener;
LinearLayout chapterMain,chapterAbc,chapterXyz;


@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.swipe);
    flipper = (ViewFlipper) findViewById(R.id.ViewFlipper);
    /*chapterMain=(LinearLayout) findViewById(R.id.activity_mainf);
    chapterAbc=(LinearLayout) findViewById(R.id.screenabcf);
    chapterXyz=(LinearLayout) findViewById(R.id.screenxyzf);*/

    flipper.setDisplayedChild(R.id.activity_mainf);
    flipper.setDisplayedChild(R.id.screenabcf);
    flipper.setDisplayedChild(R.id.screenxyzf);     


}

public boolean onTouchEvent(MotionEvent touchevent) {

    switch (touchevent.getAction()) {
    case MotionEvent.ACTION_DOWN: {
        lastX = touchevent.getX();
        break;
    }
    case MotionEvent.ACTION_UP: {
        float currentX = touchevent.getX();
        if (lastX < currentX) {
            if (flipper.getDisplayedChild() == 0)
                break;
            flipper.setInAnimation(this, R.anim.in_from_left);
            flipper.setOutAnimation(this, R.anim.out_to_right);
            flipper.showNext();
        }
        if (lastX > currentX) {
            if (flipper.getDisplayedChild() == 1)
                break;
            flipper.setInAnimation(this, R.anim.in_from_right);
            flipper.setOutAnimation(this, R.anim.out_to_left);
            flipper.showPrevious();
        }
        break;
    }
    }
    return false;
}
 }

现在在我的代码中,鳍状肢工作正常,但我想在鳍状肢中显示的活动不起作用(活动不起作用,意味着列表视图没有加载数据,按钮,文本视图可见但不支持任何事件)。

谁能告诉我我该怎么办..?

4

1 回答 1

0
  1. 您是否创建了“screenxyz.xml”和“screenabc.xml”文件并填写了它们的内容?
  2. 您必须android:id为每个包含设置,否则这些将无用。
  3. 如果除了 ViewFlipper 没有其他视图,您可以安全地删除 LinearLayout。

看看这个:

<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/ViewFlipper"
    android:background="#ffffff" >

<include layout="@layout/screenxyz"
    android:id="@+id/xyzView" />
<include layout="@layout/activity_main" 
    android:id="@+id/mainView" />
<include layout="@layout/screenabc" 
    android:id="@+id/abcView" />

</ViewFlipper>
于 2013-02-09T11:31:34.093 回答