您的位置:首页 > 移动开发 > Android开发

Pro Android学习笔记(二七):用户界面和控制(15):FrameLayout

2013-09-20 21:00 417 查看

FrameLayout

FrameLayout通常只包含一个控件。如果我们在FrameLayout中设置多个控件,则第二个控件会堆叠在第一个控件上面,如此类推,一层一层地叠上去。下面的例子,我们在FrameLayout中设置两个控件,一个可视,另一个不可视也不占位置(GONE),点击,通过设置可视属性,实现点击切换图片的视觉效果。

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent" >

<ImageView android:id="@+id/imageViewOne"

android:src="@drawable/sunflower01"

android:scaleType="fitCenter"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

<ImageView android:id="@+id/imageViewTwo"

android:src="@drawable/sky02"

android:scaleType="fitCenter"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:visibility="gone"/>

</FrameLayout>
Java代码如下:


private ImageView one = null;

private ImageView two = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

setContentView(R.layout.ui_frame);

one = (ImageView)findViewById(R.id.imageViewOne);

two = (ImageView)findViewById(R.id.imageViewTwo);

one.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

two.setVisibility(View.VISIBLE);

one.setVisibility(View.GONE);


}

});

two.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

one.setVisibility(View.VISIBLE);

two.setVisibility(View.GONE);


}

});

}
FrameLayout一般用于单个控件,但是利用其将可控件堆叠的效果,可以设置一些特殊,如下面XML文件:


<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent" >

<ImageView android:id="@+id/imageViewOne"

android:src="@drawable/sunflower01"

android:scaleType="fitCenter"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

<ImageView android:id="@+id/imageViewTwo"

android:src="@drawable/png13"

android:scaleType="center"

android:layout_width="match_parent"

android:layout_height="match_parent" />

</FrameLayout>
相关链接:
我的Android开发相关文章
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐