在我的Android应用程序上(反应原生但但并不重要)我有一个启动画面。我创建了res/drawable
并添加了一个名为" emblem.png"的图像。然后我将gravity
的{{1}}置于中心位置,如我的xml中所示:
center
然而,这个居中并没有考虑到顶部状态栏"高度也不是"系统导航栏的宽度'当风景" /"'系统导航栏的高度'在肖像"。有没有办法做到这一点?
由于
答案 0 :(得分:-2)
这不是答案,我只是分享一些代码
布局文件 - activity_splash.xml
<?xml version="1.0+ encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android
xmlns:tools="http://schemas.android.com/tools"
android:id=@+id/activity_splash"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimary"
tools:context="com.splash.splash.Splash">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:id="@+id/iV"
android:gravity="center"
android:src="@drawable/applogo"/>
<TextView
android:layout_width="wrap_content"
android:gravity="center"
android:layout_height="wrap_content"
android:text="My welcome screen"
android:textsize="25sp"
android:textStyle="bold"
android:textcolor="@color/white"
android:layout_marginTop="10dp"
android:id="@+id/tV" />
</LinearLayout>
</RelativeLayout>
<强> MainActivity.java 强>
public class Splash extends AppCompatActivity{
private TextView tv;
private ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState){
super.OnCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
tv= findViewById(R.id.tV);
iv= findViewById(R.id.iV);
final intent i = new intent(this,MainActivity.class);
Thread timer = new thread(){
public void run(){
try{
sleep(5000);
}catch(InterruptedException e){
e.printStackTrace();
}
finally{
startActivity(i);
finish();
}
}
};
timer.start();
}
}
这就是我在android中设置启动画面的方法。希望这会对你有所帮助。