我在Java环境中非常棒,我很可能会在这里错过一些非常重要的事情,但无论如何这里是我的代码:
这是我在XML中创建的对象:
<ImageView
android:id="@+id/splash_screen"
android:src="@drawable/my_image"
android:layout_height="match_parent"
android:layout_width="match_parent"/>
这是假设触发该功能的javascript代码:
function hideSplash() {
Android.hideSplash();
}
$(window).load(function(){
hideSplash();
});
这是应该由javascript触发的函数:
public void hideSplash() {
Toast.makeText(mContext, "Splash! Remove!!!", Toast.LENGTH_SHORT).show();
View splash = (ImageView) findViewById(R.id.splash_screen);
splash.setVisibility(View.GONE);
}
正如你所看到的,我已经在函数的头部放置了一个Toast警报来检查是否发生了某些事情。我得到的是jsut这个“Splash!Remove !!!”消息和“splash”对象由于某种原因拒绝更改其可见性。 有人请帮助我使它工作......我已经尝试过evrything!
我想我的整个方法可能都是错的。我想要的是在WebView内容完全加载时隐藏启动画面图像:
答案 0 :(得分:0)
好的我已经得到了...... 我已经在父类中描述了该函数,然后从javascript类中调用它。像这样:
public class MainActivity extends Activity {
public class JavaScriptInterface extends Activity {
public void hideSplash() {
hideSplashHandler();
}
}
public void onCreate(Bundle savedInstanceState) {
/** Some onCreate stuff */
}
public void hideSplashHandler() {
ImageView splash = (ImageView) findViewById(R.id.splash_screen);
splash.setVisibility(View.GONE);
}
}
我不知道这是否正确,但它的作用就像魅力^ _ ^