本文实例讲述了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
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我