android - layout_below 不适用于 layout_centerVertical
问题描述
我一直在尝试在 ScrollView 中使用 RelativeLayout 来定位两个 LinearLayout,一个到顶部,一个到中心。我使用了 layout_alignParentTop 和 layout_centerVertical。为了防止重叠,我尝试在第二个 LinearLayout 上使用 layout_below,但它破坏了 layout_centerVertical 并且第二个 LinearLayout 进入顶部。怎么做?谢谢。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".activities.StartFragment">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/trial_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="25dp"
android:layout_alignParentTop="true"
android:background="@drawable/trial_border"
android:foreground="?android:attr/selectableItemBackground"
android:clickable="true"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_gravity="top"
android:layout_marginRight="10dp"
android:layout_marginTop="3dp"
android:layout_marginLeft="10dp"
android:src="@drawable/ic_access_time_black_24dp" />
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:orientation="vertical">
<TextView
android:id="@+id/trial_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="left|center"
android:text="@string/trial_exp"
android:textColor="@color/darkGrey"
android:textSize="15sp" />
<TextView
android:id="@+id/trial_more"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="right|center"
android:text="@string/trial_exp_more"
android:textColor="@color/darkGreen"
android:layout_marginRight="10dp"
android:textSize="13sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/trial_button"
android:layout_centerVertical="true"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="top"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/VImage"
android:layout_width="wrap_content"
android:layout_height="200sp"
android:src="@drawable/image_global" />
<TextView
android:id="@+id/VText"
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center"
android:text="@string/protection_disabled"
android:textColor="@color/darkRed"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="top"
android:gravity="center"
android:orientation="vertical">
<com.google.android.material.button.MaterialButton
android:id="@+id/start_vpn_button"
style="@style/Widget.AppCompat.Button.Borderless.Colored"
android:layout_width="141dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/protect_me"
android:textColor="@color/white"
android:textStyle="bold"
app:backgroundTint="@color/green" />
<com.google.android.material.button.MaterialButton
android:id="@+id/stop_vpn_button"
style="@style/Widget.AppCompat.Button.Borderless.Colored"
android:layout_width="141dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/unprotect_me"
android:textColor="@color/white"
android:textStyle="bold"
android:visibility="gone"
app:backgroundTint="@color/red" />
</LinearLayout>
<LinearLayout
android:id="@+id/r_button"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="50sp"
android:layout_marginRight="20dp"
android:background="@drawable/single_border"
android:clickable="true"
android:foreground="?android:attr/selectableItemBackground"
android:orientation="horizontal">
<ImageView
android:id="@+id/r_image"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_gravity="center"
android:src="@drawable/image_r_50" />
<TextView
android:id="@+id/r_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="left|center"
android:text="@string/r_to"
android:textColor="@color/darkGrey"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</ScrollView>
解决方案
推荐阅读
- reactjs - 使用 docker 部署 create-react-app 的问题
- java - dot(.) 在 Java 语句中代表什么
- database-design - 为层次结构设计解决方案
- sql - sql冗余表列
- python - Python 在我的查询参数中添加单引号
- php - 如何根据日期值对数组进行排序?
- azure - 如何在 microsoft azure 上部署 acronis 扩展?
- php - phpSpreadsheet 到 mPDF 文本旋转
- sql - 在 SQL Server 中检查多个值为 NULL 的列
- c# - 如何在 ASP.Net 中修改我的 xml 详细信息?