0
我有一個默認的活動,只需一個按鈕安卓:啓動新的活動比屏幕尺寸
<Button
android:id="@+id/openActivity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="180dp"
android:text="Click to open activity" />
,並打開一個新的活動功能更小:
public void openActivity(){
final Button openActivity = (Button) findViewById(R.id.openActivity);
openActivity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
MainActivity.this.startActivity(new Intent(MainActivity.this, SecondActivity.class));
}
});
}
對於第二個活動我有隻是一個TextView與自定義消息:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#a56699"
tools:context="com.example.tge_00.myapplication.SecondActivity">
<TextView
android:id="@+id/textViewTextToChange"
android:layout_width="121dp"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:layout_marginTop="120dp"
android:text="Second Activity" />
</android.support.constraint.ConstraintLayout>
這應該是顯示在主要活動的頂部Y,比屏幕尺寸:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = dm.widthPixels;
int height = dm.widthPixels;
getWindow().setLayout((int)(width*.8), (int)(height*0.6));
}
public boolean onTouchEvent(MotionEvent event){
this.finish();
return true;
}
但問題是,從後面的活動應該還是可見的部分,其中第二活動沒有覆蓋屏幕,但這些部分是黑色的,我不不知道爲什麼。
我是新Android中的編程所以請溫柔:)
只需使用DialogFragment,並將第二個Activity中的所有代碼放在Fragment中。 –
活動是獨立的實體。如果你想同時顯示,使用兩個片段和一個活動。 –
這足以繼承'android:Theme.Dialog'。 –