在“叠加活动”上无法将重力降到最低点

时间:2012-03-06 11:47:24

标签: android android-layout android-intent

我正在尝试创建并叠加显示在另一个活动的顶部,在底部。但是我似乎无法让它走到尽头。它只是停留在中间,并且高度和宽度都是其中的2个按钮。

我在这个问题上尝试了解决方案: Display new Activity on top of previous Activity

但那没有做到。

所以基本上我再次回到这个简单的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom"
android:orientation="vertical" android:background="#000" android:weightSum="0.6">

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:background="@drawable/greybutton"
        android:text="text1"
        android:textColor="#FFF"
        android:textSize="18dp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:background="@drawable/greybutton"
        android:text="text2"
        android:textColor="#FFF"
        android:textSize="18dp"
        android:textStyle="bold" />
</LinearLayout>

在清单中:

    <activity android:name=".Overlay_share" android:screenOrientation="portrait" android:theme="@style/Theme.Transparent"></activity>

以我的风格:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/semitransparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
<color name="semitransparent">#00000000</color> 
</resources>

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

好的,你可以用线性布局做到这一点,但我建议一个相对的。

  1. 将match_parent更改为您的布局的fill_parent
  2. 您需要为各个按钮单独指定android:gravity =“bottom”
  3. 如果您需要按钮具有相同的权重,则应添加另一个包装按钮并指定weightSum的LinearLayout,并让按钮为按钮指定单独的 layout_weight
  4. 所以 fill_parent ,一个嵌套的LinearLayout,用于指定 weightSum 并使用 wrap_content 的按钮,并指定 layout_weight 对于个别按钮。或者是一个RelativeLayout,我将尝试在下面进行演示。

    以下是我的建议(个人)

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" android:background="#000">
    
    <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_alignParentBottom="true"
        android:paddingBottom="20dp"
        android:paddingRight="30dp"
        android:paddingLeft="30dp>
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:paddingRight="10dp"
        android:background="@drawable/greybutton"
        android:text="text1"
        android:textColor="#FFF"
        android:textSize="18dp"
        android:textStyle="bold" />
    
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:paddingLeft="10dp"
        android:layout_toRightOf="@id/button1"
        android:background="@drawable/greybutton"
        android:text="text2"
        android:textColor="#FFF"
        android:textSize="18dp"
        android:textStyle="bold" />
    </RelativeLayout>
    </LinearLayout>
    

    LinearLayout

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" android:background="#000">
    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:gravity="bottom"
        android:weightSum="2"
        android:paddingBottom="20dp"
        android:paddingRight="30dp"
        android:paddingLeft="30dp>
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:paddingRight="10dp"
        android:background="@drawable/greybutton"
        android:text="text1"
        android:layout_weight="1"
        android:textColor="#FFF"
        android:textSize="18dp"
        android:textStyle="bold" />
    
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:paddingLeft="10dp"
        android:layout_weight="1"
        android:background="@drawable/greybutton"
        android:text="text2"
        android:textColor="#FFF"
        android:textSize="18dp"
        android:textStyle="bold" />
    </LinearLayout>
    </LinearLayout>
    

    希望这至少可以让你走上正轨