我将开始一个“大学开放日”的android应用程序。实际上我在过去的5个月里学习了一些android和java编程。现在我真的要开始我的app.My问题是我想要有一个标志屏幕(活动),然后我的主屏幕(另一个活动)。我希望当我启动我的应用程序时,我的徽标屏幕应该会出现,然后自动显示(比如说5秒)我的主屏幕应该出现。同样在我的主屏幕上我想要一些按钮设计(因为我有很多活动),其中的按钮类似于我在下面的链接中发送的按钮。每次我点击其中一个按钮,它给了我不同的活动和过程重复不同的按钮。问题是因为我有太多的活动,我希望我的按钮小而圆,类似于图片。可以帮助我如何做到这一点?请帮助我,我处于一个非常困难的困境。
https://itunes.apple.com/au/app/university-of-sydney-open-day/id1006990948?mt=8
答案 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
修改强>
现在问题的第二部分:
创建布局' second_activity.xml'并把按钮放在那里,用id说b1,b2,b3等
那么你的活动是
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;
}}
}