android编程实现局部界面动态切换的方法
2019/7/7 20:07:06
本文主要是介绍android编程实现局部界面动态切换的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文实例讲述了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程序设计有所帮助。
这篇关于android编程实现局部界面动态切换的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-18android.permission.read_media_video
- 2024-01-18android_getaddrinfo failed eai_nodata
- 2024-01-18androidmo
- 2024-01-15Android下三种离屏渲染技术
- 2024-01-09Android 蓝牙使用
- 2024-01-06Android对接华为AI - 文本识别
- 2023-11-15代码安全之代码混淆及加固(Android)
- 2023-11-10简述Android语音播报TTS
- 2023-11-06Android WiFi工具类
- 2023-07-22Android开发未来的出路