layout_below在linearlayout中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了layout_below在linearlayout中相关的知识,希望对你有一定的参考价值。
是否可以将视图与线性布局中的另一个视图对齐?
我想做这样的事情:http://i.imgur.com/LWgtBKO.png?1
这是否可以通过线性布局实现?
我也想在不使用固定值(如固定高度/宽度)的情况下执行此操作,并且这些视图应该平均填充屏幕(如示例中所示)。
提前致谢
Linearlayout将孩子放在垂直或水平。在链接中有imageview textview和表格布局,所以相对布局是更好的解决方案。您可以使用linearlayout来执行此操作。
使用两个linearlayout layoutOne和layoutTwo。
在layoutTwo中放置方向垂直并放置textview和tablelayout。
在layoutOne中将方向水平放置并放置imageview和layoutTwo。
通过这种方式你可以实现它。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2" >
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@android:color/background_dark"
android:orientation="horizontal" >
<ImageView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="6dp"
android:src="@drawable/ic_launcher" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="20dp"
android:text="TextView" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@android:color/background_light"
android:text="tablelayout" />
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>
<!-- second part -->
<LinearLayout
android:layout_width="0dp"
android:layout_marginLeft="10dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@android:color/background_light"
android:orientation="horizontal" >
<ImageView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="6dp"
android:src="@drawable/ic_launcher" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="20dp"
android:text="TextView" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@android:color/background_light"
android:text="tablelayout" />
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
不,你不能在线性布局中使用layout_below
。
如果您想将物品放在另一个下面,请使用android:orientation="vertical"
如果你想让它们并排放置,那么使用android:orientation="horizontal"
要将视图对齐LinearLayout中的另一个视图,您只需将LinearLayout
的方向设置为Vertical
android:orientation="vertical"
视图应该平均填充屏幕
要做到这一点,你可以使用match_parent
和视图的width
和height
属性。
当然这是可能的,但你会更好的与RelativeLayout
。这将使其更灵活,编码更少,嵌套Layouts
更少。你可以有一个LinearLayout
与horizontal orientation
作为根layout
和2 RelativeLayouts
内。它基本上就像是
<RelativeLayout
...>
<ImageView
.../>
<TextView
...
android:layout_toRightOf="@+id/imagevViewID"
android:layout_alignParentTop="true"
.../>
<TableLayout
android:layout_below="@+id/textviewID"
android:layout_toRightOf="@+id/imageViewID"
.../>
</RelativeLayout>
我不打算为你写整个Layout
,但这样的事情会让你开始。当然,你需要添加width
,height
等属性......
看看RelativeLayout Docs你需要的确切属性,但在我看来,RelativeLayout
在很多情况下要好得多
是的,这是可能的,但为什么你必须使用线性布局?
这是具有线性布局的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2" >
<!-- MAIN CONTAINER -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<!-- FIRST CONTAINER -->
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<!-- CHILD OF FIRST CONTAINER -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</TableLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<!-- SECOND CONTAINER -->
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<!-- CHILD OF SECOND CONTAINER -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</TableLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
这是RelativeLayout的代码:
<RelativeLayout xmlns:and以上是关于layout_below在linearlayout中的主要内容,如果未能解决你的问题,请参考以下文章
将 'android: layout_below' 属性的值设置为来自不同布局 xml 文件的资源 id
Android ListView下方放一个EditText,软键盘弹出问题。