我正在尝试将我的ImageView和LinearLayout设置为每个屏幕的一半。这在平板电脑上运行良好,但在较小的屏幕上,图像占据了整个屏幕(因此,实际上并没有工作)。
我看到它的方式是,我在ImageView和LinearLayout上都设置了layout_weight =“1”,并且在两者上也设置了layout_width =“0dp”。这应该工作,因为我已经研究了很多。
我的代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/button_text_white">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/image"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:padding="20dp"
android:orientation="vertical"
android:gravity="bottom">
<TextView
android:id="@+id/text_view_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="25dp"
android:gravity="center"
android:textSize="24dp"
android:textColor="@color/button_text_white"
android:visibility="invisible"/>
<TextView
android:id="@+id/text_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sign_up_in_username_text"
android:textColor="@color/color"/>
<EditText
android:id="@+id/edit_text_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:inputType="text"
android:textColor="@color/color"
android:hint="@string/sign_up_in_username_hint"/>
<TextView
android:id="@+id/text_email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sign_up_in_email_text"
android:textColor="@color/color"/>
<EditText
android:id="@+id/edit_text_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:inputType="textEmailAddress"
android:textColor="@color/color"
android:hint="@string/sign_up_in_email_hint"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sign_up_in_password_text"
android:textColor="@color/color"/>
<EditText
android:id="@+id/edit_text_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:inputType="textPassword"
android:textColor="@color/color"
android:hint="@string/sign_up_in_password_hint"/>
<TextView
android:id="@+id/text_view_forgotten_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:gravity="right"
android:text="@string/forgotten_password_text"
android:textColor="@color/color"/>
<Button
android:id="@+id/button_sign_up_in"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:textColor="@color/color"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout>
谢谢,感谢任何帮助!
答案 0 :(得分:0)
我想说你的问题是LinearLayout
的高度设置为match_parent
内的ScrollView
。
如您所知,ScrollView会扩展以适应其内容 - 现在,如果您将其内容扩展为与其父级(match_parent)一样大,那么您就有了一个悖论。
尝试将ScrollView高度的子项设置为wrap_content
而不是match_parent
。
答案 1 :(得分:0)
您的ScrollView&amp;它的父亲RelativeLayout。减少你的布局如下。
<LinearLayout>
<ImageView w="1"/>
<ScrollView w="1">
<LinearLayout>
....
</LinearLayout>
</ScrollView>
</LinearLayout>
<?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"
android:background="@color/button_text_white">
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/image"/>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp"
android:orientation="vertical"
android:gravity="bottom">
<TextView
android:id="@+id/text_view_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="25dp"
android:gravity="center"
android:textSize="24dp"
android:textColor="@color/button_text_white"
android:visibility="invisible"/>
<TextView
android:id="@+id/text_username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sign_up_in_username_text"
android:textColor="@color/color"/>
<EditText
android:id="@+id/edit_text_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:inputType="text"
android:textColor="@color/color"
android:hint="@string/sign_up_in_username_hint"/>
<TextView
android:id="@+id/text_email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sign_up_in_email_text"
android:textColor="@color/color"/>
<EditText
android:id="@+id/edit_text_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:inputType="textEmailAddress"
android:textColor="@color/color"
android:hint="@string/sign_up_in_email_hint"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sign_up_in_password_text"
android:textColor="@color/color"/>
<EditText
android:id="@+id/edit_text_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:inputType="textPassword"
android:textColor="@color/color"
android:hint="@string/sign_up_in_password_hint"/>
<TextView
android:id="@+id/text_view_forgotten_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:gravity="right"
android:text="@string/forgotten_password_text"
android:textColor="@color/color"/>
<Button
android:id="@+id/button_sign_up_in"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:textColor="@color/color"/>
</LinearLayout>
</ScrollView>
</LinearLayout>