本文实例讲述了android编程实现局部界面动态切换的方法。分享给大家供大家参考,具体如下:
局部界面固定,局部界面可以动态切换。效果如下:
这个效果由3个layout构成
main.xml
<?xml version=\"1.0\" encoding=\"utf-8\"?> <LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\" android:layout_width=\"fill_parent\" android:layout_height=\"fill_parent\" android:orientation=\"horizontal\" > <LinearLayout android:layout_width=\"fill_parent\" android:layout_height=\"fill_parent\" android:layout_weight=\"1\" android:background=\"@android:color/black\" > <Button android:id=\"@+id/btnSwitch\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"switch\" /> <Button android:id=\"@+id/btnScreen\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"screen\" /> </LinearLayout> <LinearLayout android:id=\"@+id/frameSwitch\" android:layout_width=\"160dp\" android:layout_height=\"fill_parent\" android:background=\"@android:color/white\" > </LinearLayout> </LinearLayout>
one.xml
<?xml version=\"1.0\" encoding=\"utf-8\"?> <LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\" android:layout_width=\"fill_parent\" android:layout_height=\"fill_parent\" android:background=\"@color/yellow\" android:orientation=\"vertical\" > <TextView android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"this is linearLayout one\" /> </LinearLayout>
two.xml
<?xml version=\"1.0\" encoding=\"utf-8\"?> <LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\" android:layout_width=\"match_parent\" android:layout_height=\"match_parent\" android:orientation=\"vertical\" > <TextView android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"this is linearLayout two\" /> <Button android:id=\"@+id/btnSecond\" android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\" android:text=\"btnSecond\" /> </LinearLayout>
下面是Java代码
public class ZzzAndroidActivity extends Activity { private LinearLayout frameSwitch; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); frameSwitch = (LinearLayout) findViewById(R.id.frameSwitch); Button btnSwitch = (Button) findViewById(R.id.btnSwitch); btnSwitch.setOnClickListener(new OnClickListener() { boolean boo = false; @Override public void onClick(View v) { boo = !boo; if (boo) { getViewOne(); } else { getViewSecond(); } } }); /* * 是否全屏 */ Button btnScreen = (Button) findViewById(R.id.btnScreen); btnScreen.setOnClickListener(new OnClickListener() { boolean isScreen = false; @Override public void onClick(View v) { isScreen = !isScreen; if (isScreen) { frameSwitch.setVisibility(android.view.View.GONE); } else { frameSwitch.setVisibility(android.view.View.VISIBLE); } } }); } public void getViewOne() { View viewOne = getLayoutInflater().inflate(R.layout.one, null); frameSwitch.removeAllViews(); frameSwitch.addView(viewOne, LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); } public void getViewSecond() { View viewSecond = getLayoutInflater().inflate(R.layout.two, null); Button btn = (Button) viewSecond.findViewById(R.id.btnSecond); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(ZzzAndroidActivity.this, \"hello world\", Toast.LENGTH_LONG).show(); } }); frameSwitch.removeAllViews(); frameSwitch.addView(viewSecond, LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); } }
希望本文所述对大家Android程序设计有所帮助。
本文地址:https://www.stayed.cn/item/13138
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我