我开发了一个Android应用程序,一旦滑块完成显示MainActivity,它就会有闪屏,但在我的情况下,一旦显示MainActivity,它会在几秒钟(大约5秒)后自动重新加载(就像MainActivity第一次打开时一样打开)。
这是我的SplashScreenActivity
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Html;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
public class SplashScreenActivity extends AppCompatActivity {
private ViewPager viewPager;
private LinearLayout dots_layout;
private TextView[] dots_count;
private int[] layouts;
private Button button_next;
private Button button_skip;
private SplashScreenAdapter splashScreenAdapter;
private SharedPreference sharedPreference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sharedPreference = new SharedPreference(this);
if (!sharedPreference.isFirstTimeLaunch()) {
startFunctionsActivity();
finish();
}else{
sharedPreference.setFirstTimeLaunch(false);
}
setStatusbarTransparent();
setContentView(R.layout.activity_splash_screen);
viewPager = findViewById(R.id.view_pager);
dots_layout =(LinearLayout) findViewById(R.id.splashscreen_dots);
button_next =(Button) findViewById(R.id.button_next);
button_skip =(Button) findViewById(R.id.button_skip);
button_next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int currentpage = viewPager.getCurrentItem() + 1;
if (currentpage < layouts.length) {
viewPager.setCurrentItem(currentpage);
} else {
startFunctionsActivity();
}
}
});
button_skip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startFunctionsActivity();
}
});
layouts = new int[]{R.layout.slider_one,R.layout.slider_two,R.layout.slider_three,R.layout.slider_four};
splashScreenAdapter = new SplashScreenAdapter(layouts,getApplicationContext());
viewPager.setAdapter(splashScreenAdapter);
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
if (position == layouts.length - 1) {
button_next.setText("START");
button_skip.setVisibility(View.GONE);
} else {
button_next.setText("NEXT");
button_skip.setVisibility(View.VISIBLE);
}
setDotStatus(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
setDotStatus(0);
}
private void setDotStatus(int page) {
dots_layout.removeAllViews();
dots_count = new TextView[layouts.length];
for (int i = 0; i < dots_count.length; i++) {
dots_count[i] = new TextView(this);
dots_count[i].setText(Html.fromHtml("•"));
dots_count[i].setTextSize(30);
dots_count[i].setTextColor(Color.parseColor("#a9b4bb"));
dots_layout.addView(dots_count[i]);
}
if (dots_count.length > 0) {
dots_count[page].setTextColor(Color.parseColor("#ffffff"));
}
}
private void startFunctionsActivity() {
sharedPreference.setFirstTimeLaunch(false);
startActivity(new Intent(SplashScreenActivity.this, FunctionsActivity.class));
finish();
}
private void setStatusbarTransparent() {
if (Build.VERSION.SDK_INT >= 21) {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
}
}
}
飞溅屏幕适配器
public class SplashScreenAdapter extends PagerAdapter {
private LayoutInflater inflater;
private int[] layouts;
private Context context;
public SplashScreenAdapter(int[] layouts, Context context) {
this.layouts = layouts;
this.context = context;
inflater=LayoutInflater.from(context);
}
@Override
public int getCount() {
return layouts.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View V = inflater.inflate(layouts[position],container,false);
container.addView(V);
return V;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((View) object);
View v =(View)object;
container.removeView(v);
}
}
主要活动
public class MainActivity extends AppCompatActivity {
private TextView textview_myQuote;
private ImageView imageView_logo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
if (!isFirstTimeStartApp()) {
startSplashScreenActivity();
finish();
}else{
setFirstTimeStartStatus(false);
}
setContentView(R.layout.activity_main);
textview_myQuote = (TextView) findViewById(R.id.splash_screen_text);
imageView_logo = (ImageView) findViewById(R.id.splash_screen_logo);
Animation animation = (Animation) AnimationUtils.loadAnimation(this,R.anim.welcomescreen_animation);
textview_myQuote.startAnimation((Animation) animation);
imageView_logo.startAnimation((Animation) animation);
final Intent intent = new Intent(this,SplashScreenActivity.class);
/* Purpose : splash screen animation on logo and Textview */
Thread timerThread = new Thread(){
public void run(){
try{
sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
finally {
startActivity(intent);
finish();
}
}
};
timerThread.start();
}
private boolean isFirstTimeStartApp() {
SharedPreferences ref = getApplicationContext().getSharedPreferences("splashscreen", Context.MODE_PRIVATE);
return ref.getBoolean("Flag", true);
}
private void setFirstTimeStartStatus(boolean status) {
SharedPreferences ref = getApplicationContext().getSharedPreferences("splashscreen", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = ref.edit();
editor.putBoolean("Flag", status);
editor.commit();
}
private void startSplashScreenActivity() {
setFirstTimeStartStatus(false);
startActivity(new Intent(MainActivity.this, SplashScreenActivity.class));
finish();
}
}
仅从这个活动中,我调用了FunctionsActivity(MainActivity)。但几秒钟后它会重新加载。请引导我解决它。
我有一些链接,当我悬停在上面时,会显示与该链接相关的特定文本。我已经使用悬停功能来显示和隐藏div。 我还想添加这样的特性,即文本在几秒钟后自动改变,以显示下一个div的内容。即is循环通过DIVS。Hide div 1,show div 2,Hide 2,show div 3等。下面是显示悬停功能如何工作的代码。将鼠标悬停在右侧的链接上,左侧的文本将发生变化: null null
问题内容: 我想知道,几秒钟后如何在jquery中隐藏div?例如Gmail的邮件。 我已经尽力了,但是无法正常工作。 问题答案: 这将在1秒(1000毫秒)后隐藏div。 如果您只想隐藏而不褪色,请使用。
问题内容: 我在Django中的应用程序 可以 创建一些 非常大的SQL查询。我目前使用一个对象,作为我需要的数据,然后使用一个,以返回要显示给用户的内容。 显然,我可以让用户等待一分钟,同时正在执行这些许多查询集并从数据库中提取查询,然后返回此单一HTML页面。 理想情况下,我想在需要时更新页面,例如: 这可能吗? 问题答案: 我最近发现HttpResponse可以是生成器: 这将逐步将结果返回
问题内容: 我想尝试通过以下方式使用@Schedule批注: 根据日志,CronService运行良好,但是计划的任务“ runsEveryMinute”不起作用。 使用EJB计划任务如何工作? 问题答案: 按照该Javadoc中的注释,默认值是: 除小时,分钟和秒外的所有字段;和 默认情况下为小时,分钟和秒。 通过将小时值保留为默认值,它要求计时器在午夜之后每分钟运行一小时(即00:00、00:
我想在我的视频中添加一个水印,但我不想在视频开始时添加它,在视频开始后,大约60s,我希望水印每60s显示一次,持续30s。我应该怎么写:
问题内容: 我已经编写了此示例程序,其中我想将日期转换为另一种格式。使用简单的日期格式时,我没有看到预期的日期。 我看到以下输出。第一种是使用简单的日期格式,第二种是手动翻译。 因此,如何使简单的日期格式输出与手动格式类似的值 问题答案: 看来您不能使用6位数字表示毫秒。您的程序关闭了11分17秒。660秒= 11分钟,您可以休息17秒。因此,它只能将您输入的内容从秒转换为分钟,因为它不能接受超过