Uur*_*Ysr 25 android android-layout xml-layout
我有个问题.我开发android应用程序.
我将第二个布局包含在第一个布局中:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="clip_horizontal"
android:layout_alignParentLeft="true"
android:id="@+id/rlMenu"
>
<Button
android:id="@+id/bMusteriler"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Musteriler"
android:textSize="45dp"
android:layout_alignParentLeft="true"
/>
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_toRightOf="@id/rlEkranlar"
>
<include
android:id="@+id/include1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/ikinci" />
</RelativeLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
问题是如何在单击按钮(在java代码上)时更改包含的布局?
对不起我的英语不好.谢谢.
Yug*_*abu 59
我建议ViewFlipper在RelativeLayout你的include陈述中.试试这样:
<ViewFlipper xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/vf"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<include android:id="@+id/include1" layout="@layout/ikinci" />
<include android:id="@+id/map" layout="@layout/third_layout" />
</ViewFlipper>
Run Code Online (Sandbox Code Playgroud)
访问ViewFlipper,如下所示.最初输出第一个布局:
ViewFlipper vf = (ViewFlipper)findViewById(R.id.vf);
Run Code Online (Sandbox Code Playgroud)
对于Button onClickListener:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
vf.setDisplayedChild(1);
}
});
Run Code Online (Sandbox Code Playgroud)
Jin*_*n35 20
有两种方法可以更改代码中的布局:
A.改变可见性.在xml中包含两个不同的布局:
<include
android:id="@+id/id1"
android:visibility="visible"/>
<include
android:id="@+id/id2"
android:visibility="gone"/>
Run Code Online (Sandbox Code Playgroud)
并在代码中使用此:
findViewById(R.id.id1).setVisibility(View.GONE);
findViewById(R.id.id2).setVisibility(View.VISIBLE);
Run Code Online (Sandbox Code Playgroud)
B.手动添加孩子.使用与您现在使用相同的xml并添加可以添加或删除子项的代码:
yourRelativeLayout.removeAllViews();
yourRelativeLayout.addView(viewToInclude);
Run Code Online (Sandbox Code Playgroud)
无关:
您不需要xmlns:android在RelativeLayout中编写参数.仅适用于布局文件中最顶级的标签.
| 归档时间: |
|
| 查看次数: |
35411 次 |
| 最近记录: |