如何在phonegap中获得幻灯片转换?

时间:2012-04-16 11:05:22

标签: java android plugins cordova transition

我在Stackoverflow上看到很多关于使用phonegap开发应用程序时两个html页面之间的毛刺/间隔/间隙的问题。我找到了一个用于phonegap的插件slider plugin。经过大量搜索后,我无法弄清楚如何执行这一步骤。

Add the import for your resource Java file (yourpackage.R) to LoadingSpinner.java

这在我看来像本机代码,我无法理解。

我的问题是:

  1. 这是什么yourpackage.R文件??
  2. 它位于哪里??
  3. 如何在那里进行第3步?
  4. 由于

    ----------- -----------编辑

    以下是R.java的内容

        package com.somethingsomething.appone;
    
        public final class R {
            public static final class attr {
            }
            public static final class drawable {
                public static final int ic_launcher=0x7f020000;
            }
            public static final class layout {
                public static final int main=0x7f030000;
            }
            public static final class string {
                public static final int app_name=0x7f060001;
                public static final int hello=0x7f060000;
            }
            public static final class style {
                public static final int loading_spinner=0x7f050000;
            }
            public static final class xml {
                public static final int cordova=0x7f040000;
                public static final int plugins=0x7f040001;
            }
        }
    

    和LoadingSpinner.java的内容是

        package de.sandstein.phonegap.plugin.transition;
    
        import android.app.Dialog;
        import android.content.Context;
        import android.view.ViewGroup.LayoutParams;
        import android.widget.ProgressBar;
    
        public class LoadingSpinner extends Dialog {
    
                public static LoadingSpinner show(Context context, CharSequence title,
                        CharSequence message) {
                    return show(context, title, message, false);
                }
    
                public static LoadingSpinner show(Context context, CharSequence title,
                        CharSequence message, boolean indeterminate) {
                    return show(context, title, message, indeterminate, false, null);
                }
    
                public static LoadingSpinner show(Context context, CharSequence title,
                        CharSequence message, boolean indeterminate, boolean cancelable) {
                    return show(context, title, message, indeterminate, cancelable, null);
                }
    
                public static LoadingSpinner show(Context context, CharSequence title,
                        CharSequence message, boolean indeterminate,
                        boolean cancelable, OnCancelListener cancelListener) {
                    LoadingSpinner dialog = new LoadingSpinner(context);
                    dialog.setTitle(title);
                    dialog.setCancelable(cancelable);
                    dialog.setOnCancelListener(cancelListener);
                    /* The next line will add the ProgressBar to the dialog. */
                    dialog.addContentView(new ProgressBar(context), new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
                    dialog.show();
    
                    return dialog;
                }
    
                public LoadingSpinner(Context context) {
                    super(context, R.style.loading_spinner);
                }
        }
    

    将LoadingSpinner.java中的R.java导入为

     import android.R;
    

    现在错误状态

    loading_spinner cannot be resolved or is not a field
    

    ----------- -----------编辑

    将文件LoadingSpinner.java中的com.somethingsomething.appone.R替换为android.R

     import com.somethingsomething.appone.R;
    

    仍然是错误状态

    loading_spinner cannot be resolved or is not a field
    

    清理项目并重启eclipse,错误消失。

    用法说

        1) Call initTransition() on startup of the app.
        2) Call showLoadingView() to show the loading view. (Android: can use parameter "animation" ('slide' oder 'fade'))
        3) When the animation has finished 'transitionAnimationReady' is fired.
        4) Call hideLoadingView() to hide the loading view.
    

    我在哪里可以找到声明这些全局函数的地方,因为它适用于所有文件。

    是否应该在其他文件中,在html标记上方的html文件中,在head标记中。试着将以下代码放在html和head标签上面。

    <script type="text/javascript" charset="utf-8" src="transition.js"></script>
    <script type="text/javascript">
        initTransition();
        showLoadingView('slide');
        hideLoadingView();
        alert("hi");
    </script>
    

1 个答案:

答案 0 :(得分:3)

  1. 我没有使用过phonegap,但是就android来说,“你的软件包”.R是一个系统生成的java文件,它存储一个对你在应用程序中使用的每个id都唯一的int id。这包括布局,字符串值等。

  2. 由于它是系统生成的,因此存储在应用程序的gen文件夹中

  3. 如果你熟悉java,那只是一个普通的导入。

  4. 只需查看ref,您就可以了解R.java