我有一个框架布局,包含两个子线性布局(一个在另一个之上) 我有两个按钮" 1"和" 2" 当我按1时,我想要第二个线性布局顶部的第一个线性布局
当我按下2时,我希望第一个线性布局顶部的第二个线性布局
我使用了bringToFront()这样做 但没有任何反应
我的布局
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:orientation="vertical">
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="horizontal"
android:gravity="center">
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/button1"
android:text="1"/>
<Button
android:layout_height="wrap_content"
android:text="2"
android:layout_width="wrap_content"
android:id="@+id/button2"/>
</LinearLayout>
<FrameLayout
android:layout_height="0dp"
android:layout_width="match_parent"
android:layout_weight="1">
<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="horizontal"
android:background="#D88681"
android:id="@+id/firstLayout"/>
<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="horizontal"
android:background="#57E8A7"
android:id="@+id/secondLayout"/>
</FrameLayout>
我的主要活动
public class MainActivity extends Activity
{
LinearLayout first, second;
Button btn1, btn2;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
first = (LinearLayout) findViewById(R.id.firstLayout);
second = (LinearLayout) findViewById(R.id.secondLayout);
Button btn1 = (Button) findViewById(R.id.button1);
btn1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View p1)
{
first.bringToFront();
}
});
btn2 = (Button) findViewById(R.id.button2);
btn2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View p1)
{
second.bringToFront();
}
});
}
}
答案 0 :(得分:0)
您可以使用bringtofront()方法设置Linearlayouts的可见性。 例如。
first.setVisibility(View.GONE);
second.setVisibility(View.VISIBLE);
这将使第一个视图消失,第二个视图可见。
答案 1 :(得分:0)
忘记使父布局无效 添加此
myView.bringToFront();
((View)myView.getParent()).invalidate();
((View)myView.getParent()).requestLayout();