【问题标题】:ScrollView Background not homogeneousScrollView 背景不均匀
【发布时间】:2019-11-27 08:37:44
【问题描述】:

目标:在包含多个 LinearLayout 的 ScrollView 中具有相同不透明度“#A4FFFFFF”的背景

当我在“正常大小的屏幕”(手机大小)中运行我的应用程序时,实际上可以滚动活动,背景是均匀不透明的。当我在活动不滚动的“大尺寸屏幕”(平板电脑尺寸)中运行应用程序时,屏幕底部 1/4 的背景不透明,而顶部 3/4 不透明。

如何使其均匀不透明?

这里是问题的可视化:

平板电脑尺寸

这是我的 XML 文件

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/randomnumber">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="0.5"
        android:orientation="vertical"
        android:background="#A4FFFFFF"
        android:gravity="center">

        <TextView
            android:id="@+id/OptionsHeader2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:ems="10"
            android:gravity="center"
            android:lineSpacingExtra="8sp"
            android:text="MATH{PROOF}"
            android:background="#546BF7CD"
            android:textAllCaps="true"
            android:textAppearance="@style/TextAppearance.AppCompat.Display1"
            android:textColor="#000000"
            android:textStyle="bold"
            android:typeface="serif"
            android:paddingBottom="30dp"/>

        <TextView
            android:id="@+id/Instructions1"
            android:layout_width="207dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginEnd="16dp"
            android:layout_marginRight="16dp"
            android:layout_marginBottom="16dp"
            android:ems="10"
            android:text="Please choose one or more operators. Then press on one difficulty and the game will start!"
            android:textSize="20dp"
            android:layout_gravity="center"
            android:textStyle="bold"
            android:textColor="#000000"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Difficulty"
            android:layout_gravity="center"
            android:paddingBottom="10dp"
            android:textColor="#E9D34A06"
            android:textStyle="bold"
            android:textSize="18dp"
            android:textAllCaps="true"/>


        <Button
            android:id="@+id/Difficulty1"
            android:layout_width="180dp"
            android:layout_height="58dp"
            android:layout_marginStart="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginEnd="16dp"
            android:layout_marginRight="16dp"
            android:layout_marginBottom="16dp"
            android:background="#546BF7CD"
            android:textSize="18dp"
            android:onClick="setDifficulty"
            android:requiresFadingEdge="horizontal|vertical"
            android:scaleType="fitCenter"
            android:text="@string/Difficulty1"
            android:textColor="#000000"
            android:textStyle="bold"/>

        <Button
            android:id="@+id/Difficulty2"
            android:layout_width="180dp"
            android:layout_height="58dp"
            android:layout_marginStart="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginEnd="16dp"
            android:layout_marginRight="16dp"
            android:layout_marginBottom="16dp"
            android:background="#546BF7CD"
            android:textSize="18dp"
            android:onClick="setDifficulty"
            android:scaleType="fitCenter"
            android:text="@string/Difficulty2"
            android:textColor="#000000"
            android:textStyle="bold"/>

        <Button
            android:id="@+id/Difficulty3"
            android:layout_width="180dp"
            android:layout_height="58dp"
            android:layout_marginStart="16dp"
            android:layout_marginLeft="16dp"
            android:layout_marginEnd="16dp"
            android:layout_marginRight="16dp"
            android:layout_marginBottom="16dp"
            android:background="#546BF7CD"
            android:textSize="18dp"
            android:onClick="setDifficulty"
            android:scaleType="fitCenter"
            android:text="@string/Difficulty3"
            android:textColor="#000000"
            android:textStyle="bold"/>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="0.5"
            android:orientation="horizontal"
            android:gravity="center">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="0.5"
            android:orientation="vertical"
            android:gravity="left">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Operators"
            android:layout_gravity="left"
            android:paddingBottom="10dp"
            android:paddingTop="10dp"
            android:textColor="#E9D34A06"
            android:textStyle="bold"
            android:textSize="16dp"
            android:textAllCaps="true"/>


        <Switch
            android:id="@+id/Add"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Add"
            android:paddingTop="20dp"
            android:layout_gravity="left"
            android:textColor="#000000"
            android:textStyle="bold"
            android:textSize="18dp"
            android:layoutDirection="rtl"/>

        <Switch
            android:id="@+id/Subtract"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Subtract"
            android:paddingTop="20dp"
            android:layout_gravity="left"
            android:textColor="#000000"
            android:textStyle="bold"
            android:textSize="18dp"
            android:layoutDirection="rtl"/>

        <Switch
            android:id="@+id/Multiply"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Multiply"
            android:paddingTop="20dp"
            android:layout_gravity="left"
            android:textColor="#000000"
            android:textStyle="bold"
            android:textSize="18dp"
            android:layoutDirection="rtl"/>

        <Switch
            android:id="@+id/Divide"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Divide"
            android:paddingTop="20dp"
            android:layout_gravity="left"
            android:textColor="#000000"
            android:textStyle="bold"
            android:textSize="18dp"
            android:layoutDirection="rtl"/>

        <Switch
            android:id="@+id/Exponent"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Exponent"
            android:paddingTop="20dp"
            android:layout_gravity="left"
            android:textColor="#000000"
            android:textStyle="bold"
            android:textSize="18dp"
            android:layoutDirection="rtl"/>

        <Switch
            android:id="@+id/Square_Root"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Square_Root"
            android:paddingTop="20dp"
            android:paddingBottom="20dp"
            android:textSize="18dp"
            android:layout_gravity="left"
            android:textColor="#000000"
            android:textStyle="bold"
            android:layoutDirection="rtl"/>

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="0.5"
            android:orientation="vertical"
            android:gravity="right">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:paddingTop="10dp"
                android:paddingBottom="10dp"
                android:text="Additional Features"
                android:textAllCaps="true"
                android:textColor="#E9D34A06"
                android:textSize="16dp"
                android:textStyle="bold" />

            <Switch
            android:id="@+id/Negative_Numbers"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Negative Numbers"
            android:paddingTop="20dp"
            android:layout_gravity="right"
            android:textColor="#000000"
                android:textSize="18dp"
            android:textStyle="bold"/>


        <Switch
            android:id="@+id/Teach"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Teach_Mode"
            android:paddingTop="20dp"
            android:layout_gravity="right"
            android:textColor="#000000"
            android:textSize="18dp"
            android:textStyle="bold"/>


        <Switch
            android:id="@+id/DoSim"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Simulate"
            android:paddingTop="20dp"
            android:layout_gravity="right"
            android:textColor="#000000"
            android:textSize="18dp"
            android:textStyle="bold"/>

        <Switch
            android:id="@+id/Sound"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Sound"
            android:paddingTop="20dp"
            android:layout_gravity="right"
            android:paddingBottom="20dp"
            android:textColor="#000000"
            android:textSize="18dp"
            android:textStyle="bold"/>

        </LinearLayout>

    </LinearLayout>

  </LinearLayout>

</ScrollView>

【问题讨论】:

    标签: android xml android-studio background


    【解决方案1】:

    你的LinearLayout 只占用它需要的空间,因为这是导致背景不透明的视图,它只影响它占用的屏幕部分。

    您可以尝试在屏幕后面添加一个新的View

    <?xml version="1.0" encoding="utf-8"?>
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/randomnumber">
    
        <View
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#A4FFFFFF" />
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="0.5"
            android:orientation="vertical"
            android:gravity="center">
    
            <TextView
                android:id="@+id/OptionsHeader2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                android:ems="10"
                android:gravity="center"
                android:lineSpacingExtra="8sp"
                android:text="MATH{PROOF}"
                android:background="#546BF7CD"
                android:textAllCaps="true"
                android:textAppearance="@style/TextAppearance.AppCompat.Display1"
                android:textColor="#000000"
                android:textStyle="bold"
                android:typeface="serif"
                android:paddingBottom="30dp"/>
    
            <TextView
                android:id="@+id/Instructions1"
                android:layout_width="207dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginEnd="16dp"
                android:layout_marginRight="16dp"
                android:layout_marginBottom="16dp"
                android:ems="10"
                android:text="Please choose one or more operators. Then press on one difficulty and the game will start!"
                android:textSize="20dp"
                android:layout_gravity="center"
                android:textStyle="bold"
                android:textColor="#000000"/>
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Difficulty"
                android:layout_gravity="center"
                android:paddingBottom="10dp"
                android:textColor="#E9D34A06"
                android:textStyle="bold"
                android:textSize="18dp"
                android:textAllCaps="true"/>
    
    
            <Button
                android:id="@+id/Difficulty1"
                android:layout_width="180dp"
                android:layout_height="58dp"
                android:layout_marginStart="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginEnd="16dp"
                android:layout_marginRight="16dp"
                android:layout_marginBottom="16dp"
                android:background="#546BF7CD"
                android:textSize="18dp"
                android:onClick="setDifficulty"
                android:requiresFadingEdge="horizontal|vertical"
                android:scaleType="fitCenter"
                android:text="@string/Difficulty1"
                android:textColor="#000000"
                android:textStyle="bold"/>
    
            <Button
                android:id="@+id/Difficulty2"
                android:layout_width="180dp"
                android:layout_height="58dp"
                android:layout_marginStart="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginEnd="16dp"
                android:layout_marginRight="16dp"
                android:layout_marginBottom="16dp"
                android:background="#546BF7CD"
                android:textSize="18dp"
                android:onClick="setDifficulty"
                android:scaleType="fitCenter"
                android:text="@string/Difficulty2"
                android:textColor="#000000"
                android:textStyle="bold"/>
    
            <Button
                android:id="@+id/Difficulty3"
                android:layout_width="180dp"
                android:layout_height="58dp"
                android:layout_marginStart="16dp"
                android:layout_marginLeft="16dp"
                android:layout_marginEnd="16dp"
                android:layout_marginRight="16dp"
                android:layout_marginBottom="16dp"
                android:background="#546BF7CD"
                android:textSize="18dp"
                android:onClick="setDifficulty"
                android:scaleType="fitCenter"
                android:text="@string/Difficulty3"
                android:textColor="#000000"
                android:textStyle="bold"/>
    
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="0.5"
                android:orientation="horizontal"
                android:gravity="center">
    
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="0.5"
                android:orientation="vertical"
                android:gravity="left">
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Operators"
                android:layout_gravity="left"
                android:paddingBottom="10dp"
                android:paddingTop="10dp"
                android:textColor="#E9D34A06"
                android:textStyle="bold"
                android:textSize="16dp"
                android:textAllCaps="true"/>
    
    
            <Switch
                android:id="@+id/Add"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Add"
                android:paddingTop="20dp"
                android:layout_gravity="left"
                android:textColor="#000000"
                android:textStyle="bold"
                android:textSize="18dp"
                android:layoutDirection="rtl"/>
    
            <Switch
                android:id="@+id/Subtract"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Subtract"
                android:paddingTop="20dp"
                android:layout_gravity="left"
                android:textColor="#000000"
                android:textStyle="bold"
                android:textSize="18dp"
                android:layoutDirection="rtl"/>
    
            <Switch
                android:id="@+id/Multiply"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Multiply"
                android:paddingTop="20dp"
                android:layout_gravity="left"
                android:textColor="#000000"
                android:textStyle="bold"
                android:textSize="18dp"
                android:layoutDirection="rtl"/>
    
            <Switch
                android:id="@+id/Divide"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Divide"
                android:paddingTop="20dp"
                android:layout_gravity="left"
                android:textColor="#000000"
                android:textStyle="bold"
                android:textSize="18dp"
                android:layoutDirection="rtl"/>
    
            <Switch
                android:id="@+id/Exponent"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Exponent"
                android:paddingTop="20dp"
                android:layout_gravity="left"
                android:textColor="#000000"
                android:textStyle="bold"
                android:textSize="18dp"
                android:layoutDirection="rtl"/>
    
            <Switch
                android:id="@+id/Square_Root"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Square_Root"
                android:paddingTop="20dp"
                android:paddingBottom="20dp"
                android:textSize="18dp"
                android:layout_gravity="left"
                android:textColor="#000000"
                android:textStyle="bold"
                android:layoutDirection="rtl"/>
    
            </LinearLayout>
    
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="0.5"
                android:orientation="vertical"
                android:gravity="right">
    
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:paddingTop="10dp"
                    android:paddingBottom="10dp"
                    android:text="Additional Features"
                    android:textAllCaps="true"
                    android:textColor="#E9D34A06"
                    android:textSize="16dp"
                    android:textStyle="bold" />
    
                <Switch
                android:id="@+id/Negative_Numbers"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Negative Numbers"
                android:paddingTop="20dp"
                android:layout_gravity="right"
                android:textColor="#000000"
                    android:textSize="18dp"
                android:textStyle="bold"/>
    
    
            <Switch
                android:id="@+id/Teach"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Teach_Mode"
                android:paddingTop="20dp"
                android:layout_gravity="right"
                android:textColor="#000000"
                android:textSize="18dp"
                android:textStyle="bold"/>
    
    
            <Switch
                android:id="@+id/DoSim"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Simulate"
                android:paddingTop="20dp"
                android:layout_gravity="right"
                android:textColor="#000000"
                android:textSize="18dp"
                android:textStyle="bold"/>
    
            <Switch
                android:id="@+id/Sound"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Sound"
                android:paddingTop="20dp"
                android:layout_gravity="right"
                android:paddingBottom="20dp"
                android:textColor="#000000"
                android:textSize="18dp"
                android:textStyle="bold"/>
    
            </LinearLayout>
    
        </LinearLayout>
    
      </LinearLayout>
    
    </ScrollView>
    

    【讨论】:

    • 当我使用这个 XML 运行应用程序时,不幸的是应用程序崩溃了
    【解决方案2】:

    我得到了答案,我需要做的是将RelativeLayout 作为ScrollView, 的父级,如下所示。

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fillViewport="true">
    
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@drawable/signup_background"
                android:orientation="vertical"
                android:padding="40dp">
    
                ...
    
            </LinearLayout>
        </ScrollView>
    </RelativeLayout>
    

    【讨论】:

      猜你喜欢
      • 2022-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-03
      • 1970-01-01
      相关资源
      最近更新 更多