我在滾動視圖中的LinearLayout
內有EditText
字段。只要ScrollView
不存在,layout_weight="1.0"
就會讓我的EditText
佔據剩餘的屏幕。但是,只要將LinearLayout包裝在ScrollView
內,它就會將EditText
更改爲單行,而layout_weight不起作用。強制編輯文本佔據滾動視圖中的全屏
我的完整佈局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="fill_parent" android:orientation="vertical" >
<TextView android:id="@+id/titleTextView"
style="@style/TitleHeaderBarText"
android:text="@string/announcement" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="right" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Subject:"
android:textSize="16sp" />
<EditText
android:id="@+id/et_subject"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Announcement:"
android:textSize="16sp" />
<EditText
android:id="@+id/et_announcement"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0" />
<Button
android:id="@+id/btn_save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="24sp"
android:paddingRight="24dp"
android:text="Save" />
</LinearLayout>
</ScrollView>
</LinearLayout>
我好像不明白我做錯了。有關如何讓EditText從LinearLayout
(位於ScrollView
)中佔據屏幕的其餘部分的任何建議。
謝謝。
編輯 再次面對同樣的問題,這是我的佈局。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:id="@+id/titleTextView"
style="@style/TitleHeaderBarText"
android:text="@string/login_title" />
<ScrollView
android:id="@+id/sv_weight_tell_us"
android:layout_width="match_parent" android:layout_height="match_parent"
android:background="@drawable/bg_light_radial_pink" >
<LinearLayout
android:layout_width="match_parent" android:layout_height="match_parent"
android:padding="12dp"
android:orientation="vertical" >
<TextView
android:id="@+id/login_header"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:text="Login" />
<TableLayout
android:layout_width="match_parent" android:layout_height="wrap_content"
android:stretchColumns="1" >
<TableRow>
<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:paddingRight="20dp"
android:text="@string/username" />
<EditText
android:id="@+id/et_username"
android:layout_width="wrap_content" android:layout_height="wrap_content" />
</TableRow>
<TableRow>
<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="@string/password" />
<EditText
android:id="@+id/et_password"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:inputType="textPassword" />
</TableRow>
<TableRow>
<View/>
<Button
android:id="@+id/btn_login"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="@string/login"
android:padding="12dp" />
</TableRow>
</TableLayout>
<ProgressBar
android:id="@+id/pb_1"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:indeterminate="true"
style="?android:attr/progressBarStyleSmall"
android:visibility="invisible" />
<TextView
android:layout_width="wrap_content" android:layout_height="match_parent"
android:layout_weight="1.0" android:gravity="bottom"
android:text="@string/dont_have_Q" />
<TextView
android:id="@+id/tv_sign_up"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="@string/sign_up_" />
</LinearLayout>
</ScrollView>
</LinearLayout>
是否需要的EditText有layout_weight屬性?如果您是LinearLayout的寬度設置爲match_parent,那麼將您的EditText設置爲match_parent將填充屏幕,因爲它的方向是「垂直」。 – hooked82
謝謝你的回覆。這實際上是我在發佈之前想到並嘗試過的。但那並不奏效。 – achie
再看看你的佈局文件,我發現缺少標籤。這是否也在你的實際佈局xml中丟失? –
hooked82