如何自动启动Android活动并使用许多按钮设计继续下一个活动

时间:2015-10-25 03:54:46

标签: android

我将开始一个“大学开放日”的android应用程序。实际上我在过去的5个月里学习了一些android和java编程。现在我真的要开始我的app.My问题是我想要有一个标志屏幕(活动),然后我的主屏幕(另一个活动)。我希望当我启动我的应用程序时,我的徽标屏幕应该会出现,然后自动显示(比如说5秒)我的主屏幕应该出现。同样在我的主屏幕上我想要一些按钮设计(因为我有很多活动),其中的按钮类似于我在下面的链接中发送的按钮。每次我点击其中一个按钮,它给了我不同的活动和过程重复不同的按钮。问题是因为我有太多的活动,我希望我的按钮小而圆,类似于图片。可以帮助我如何做到这一点?请帮助我,我处于一个非常困难的困境。

https://itunes.apple.com/au/app/university-of-sydney-open-day/id1006990948?mt=8

Homescreen

1 个答案:

答案 0 :(得分:0)

您可以使用线程来实现此目的。

public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getSupportActionBar().hide();
    setContentView(R.layout.activity_splash);
    Thread timer=new Thread(){
    public void run(){
    try{
    sleep(5000);   //freeze app for 5 seconds
    }catch(InterruptedException e){
     e.printStackTrace();

    }finally{


     nextActivity();    // go to next activity


      }}} ;

    timer.start();
    }

   }
   public void nextActivity(){
    Intent intent = new Intent(this,MainActivity.class);
    startActivity(intent);
   }

不要忘记覆盖onPause()方法

    protected void onPause(){
    super.onPause();
    finish();   //finish activity instance so that it is not resumed
   }

至于xml,只需将您的徽标放在activity_splash.xml

中的imageView中

修改

现在问题的第二部分:

  1. 创建布局' second_activity.xml'并把按钮放在那里,用id说b1,b2,b3等

  2. 那么你的活动是

     public class MainActivity extends AppCompatActivity {
    
     Button b1,b2,b3; 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.second_activity);
     b1=(Button) findViewById(R.id.b1);
     b2=(Button) findViewById(R.id.b2);
     b3=(Button) findViewById(R.id.b3);
     b1.setOnclickListener(this);
     b2.setOnclickListener(this);
     b3.setOnclickListener(this);
    
     }
    
    
    
         @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    switch(v.getId()){
    
    case R.id.b1:
        Intent go = new Intent(this,anotheractivity.class);
        startActivity(intent);
    
        break;
    
    case R.id.b2:
        Intent go = new Intent(this,yetanotheractivity.class);
        startActivity(intent);
    
        break;  
    
    case R.id.b3:
    
        Intent go = new Intent(this,yetyetanotheractivity.class);
        startActivity(intent);
    
    
        break;
    
    }}
    
    
    }