相对布局简单位置
好吧,我在线性布局中有一个相对布局。到目前为止,相对布局很完美,但是现在出现了一个大问题。
相对布局基于其他项目的位置。例如,按钮 2 位于按钮 1 的底部,依此类推...如果按钮 1 消失,按钮 2 就会变得...“坚果”。
这就是我的问题,当一个按钮消失时,4 个按钮之一就会...起来。 我需要的是将按钮放置在这样的位置:
按钮 1 和按钮 2 位于屏幕中间,按钮 3 和按钮 4 位于屏幕下方,但不是真正位于底部。 我尝试在相对布局中修改它,但失败了......希望你能帮助我。 这是代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/textView2"
android:text="TextView"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true">
</TextView>
<Button
android:textSize="20dp"
android:layout_height="wrap_content"
android:id="@+id/button3"
android:text="Button"
android:layout_width="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginBottom="27dp"
android:layout_alignParentBottom="true">
</Button>
<TextView
android:layout_height="wrap_content"
android:id="@+id/textView1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="wrap_content"
android:text="TextView"
android:layout_above="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="74dp">
</TextView>
<Button
android:textSize="20dp"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:text="Button"
android:layout_width="wrap_content"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_alignParentRight="true">
</Button>
<Button
android:textSize="20dp"
android:layout_height="wrap_content"
android:id="@+id/button1"
android:paddingRight="30dp"
android:paddingBottom="90px"
android:text="Button"
android:padding="10dp"
android:layout_width="wrap_content"
android:layout_centerVertical="true"
android:layout_alignRight="@+id/button3">
</Button>
<Button
android:textSize="20dp"
android:layout_height="wrap_content"
android:gravity="bottom"
android:id="@+id/button4"
android:text="Button"
android:layout_width="wrap_content"
android:layout_alignBaseline="@+id/button3"
android:layout_alignBottom="@+id/button3"
android:layout_alignParentRight="true">
</Button>
</RelativeLayout>
这是我用来使按钮不可见的代码:
Button b1 = (Button) findViewById(R.id.button1);
Button b2 = (Button) findViewById(R.id.button2);
Button b3 = (Button) findViewById(R.id.button3);
Button b4 = (Button) findViewById(R.id.button4);
b1.setVisibility(View.GONE);
Ok I have a relative layout inside a linear one.Until now,the relative layout was perfect,however now a big problem appeared.
A relative layout is based on the others item's position.For ex button2 is at the bottom of button1,and so on...and if button 1 disappears,button2 gets..."nuts".
That's my problem, when a button disappears one of the 4 buttons gets...up.
What I need is to position the buttons like this:
Button1 and button 2 at the middle of the screen,and 3 and 4 lower,but not really at the bottom.
I tried to modify it in relative layout but I failed...Hope you can help me.
Here's the code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/textView2"
android:text="TextView"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true">
</TextView>
<Button
android:textSize="20dp"
android:layout_height="wrap_content"
android:id="@+id/button3"
android:text="Button"
android:layout_width="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginBottom="27dp"
android:layout_alignParentBottom="true">
</Button>
<TextView
android:layout_height="wrap_content"
android:id="@+id/textView1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="wrap_content"
android:text="TextView"
android:layout_above="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="74dp">
</TextView>
<Button
android:textSize="20dp"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:text="Button"
android:layout_width="wrap_content"
android:layout_alignBaseline="@+id/button1"
android:layout_alignBottom="@+id/button1"
android:layout_alignParentRight="true">
</Button>
<Button
android:textSize="20dp"
android:layout_height="wrap_content"
android:id="@+id/button1"
android:paddingRight="30dp"
android:paddingBottom="90px"
android:text="Button"
android:padding="10dp"
android:layout_width="wrap_content"
android:layout_centerVertical="true"
android:layout_alignRight="@+id/button3">
</Button>
<Button
android:textSize="20dp"
android:layout_height="wrap_content"
android:gravity="bottom"
android:id="@+id/button4"
android:text="Button"
android:layout_width="wrap_content"
android:layout_alignBaseline="@+id/button3"
android:layout_alignBottom="@+id/button3"
android:layout_alignParentRight="true">
</Button>
</RelativeLayout>
Here's the code I use to make the button invisible:
Button b1 = (Button) findViewById(R.id.button1);
Button b2 = (Button) findViewById(R.id.button2);
Button b3 = (Button) findViewById(R.id.button3);
Button b4 = (Button) findViewById(R.id.button4);
b1.setVisibility(View.GONE);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用的是
view.setVisibility(View.GONE)
..那么请尝试View.INVISIBLE
这里视图=(你的文本视图,按钮任何东西)
if you are using
view.setVisibility(View.GONE)
..then tryView.INVISIBLE
here view = (your textview,button anything)
尝试使用以下方法增强您的布局规则:
或者尝试将按钮放在表格布局中...
我的意思是这样的 - 就像按钮被隔离在“单元格”中一样,尽管您必须使用表格的布局参数来实现元素之间的正确填充
Try to enhance your layout rules using:
Or try to put the buttons in Table Layout... Something like that
I mean - like that the buttons are isolated in "cells", although you will have to play with the table's layout params to achieve correct padding between elements