Android的Activity頁有很多形式,其實一種非常常用的是對話框式,實現如下:
new一個FirstActivity作為首頁,和一個SecondActivity作為彈出的對話框:
首頁布局如下:
首頁功能是打開一個對話框,代碼如下:
public class FirstActivity extends Activity{ private Button btn1=null; class BtnClickListener implements OnClickListener{ @Override public void onClick(View arg0) { Intent intent=new Intent(); intent.setClass(FirstActivity.this, SecondActivity.class); FirstActivity.this.startActivity(intent); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.first ); btn1=(Button)findViewById(R.id.btn1); btn1.setOnClickListener(new BtnClickListener()); } }
對話框樣式如下:
增加子頁代碼如下:
public class SecondActivity extends Activity { private Button btn2=null; class BtnClickListener implements OnClickListener{ @Override public void onClick(View v) { finish(); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second); btn2=(Button)findViewById(R.id.btn2); btn2.setOnClickListener(new BtnClickListener()); } }
為了使子頁形式為對話框式,需要在配置文件AndroidManifest.xml修改如下:
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.activity_05.FirstActivity" android:label="@string/first_title" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.activity_05.SecondActivity" android:label="@string/second_title" android:theme="@android:style/Theme.Dialog"> </activity> </application>
修改SecondActivity的android:theme屬性,為"@android:style/Theme.Dialog"即可。