我一直试图让这种布局正确并遇到麻烦。
以下是我希望它在横向模式下的样子。
-------------------------------------------------
A Button |A TextView
-------------------------|
A ListView |
|
|
|
|
|
-------------------------------------------------
我尝试过几种不同的方法。下面是我最接近的。但是,它使TextView占据了屏幕的大部分。
我希望前半部分占据50%,后半部分占据屏幕宽度的另外50%。我尝试过一种使用weights
的方法,但我读过使用嵌套的weights
是不好的。
所以我尝试切换到RelativeLayout
并且它遇到了上面提到的相同问题。感谢您的帮助!
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableRow>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
layout="@layout/new_note_button" />
<fragment
android:id="@+id/note_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
class="ashton.learning.projects.simplenotes.NoteListFragment" />
</LinearLayout>
<FrameLayout
android:id="@+id/note_details"
android:layout_width="wrap_content"
android:layout_height="fill_parent">
</FrameLayout>
</TableRow>
</TableLayout>
答案 0 :(得分:1)
<LieanrLayout
android:layout_height="fill_parent"
android:layout_width="fillParent"
android:orintation="horizontal"
......other attributes>
<LinearLayout
andorid:orientation="vertical"
android:layout_height="fill_parent"
andorid:layout_width="0dp"
andorid:layout_weight="1">
<Button ...
/>
<ListView
. ..... />
</LinearLayout>
<TextView
android:height="fill_parent"
andorid:layout_width="0dp"
andorid:layout_width="1" />
</LinearLayout>
答案 1 :(得分:1)
以下是我从图形编辑器截屏的答案,您可能想要添加自己的填充和对齐。 50/50(或任何其他分割)的技巧是在父布局上使用weightSum
,然后指定您希望如何分配权重。
在此示例中,weightSum为2,左侧和右侧通过权重为1平等分享。最后一个技巧是将layout_width
设置为0dp。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:weightSum="2" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#c6c6c6"
android:layout_weight="1" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="REPLACE ME WITH A LIST VIEW"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
<RelativeLayout
android:id="@+id/rightPane"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:background="#336699"
android:layout_weight="1">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am the right pane text view"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
</LinearLayout>
答案 2 :(得分:1)
你为什么不使用片段?它允许您根据屏幕方向和尺寸显示活动并采取不同的行为。
http://mobile.tutsplus.com/tutorials/android/android-sdk_fragments/