gpt4 book ai didi

带有对话框主题的Android底部按钮栏和 ScrollView

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:07:13 25 4
gpt4 key购买 nike

我正在尝试显示一个 Android Activity :

  • 对话主题;
  • 固定在对话框顶部的标题;
  • 固定在对话框底部的按钮栏;
  • 中间有一个 ScrollView 。

我写的布局符合这些标准,除了对话框总是填满整个屏幕(见底部的垂直屏幕截图)。

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content" android:layout_height="wrap_content">

<TextView android:id="@+id/header"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginRight="10dp"
android:layout_marginTop="10dp" android:layout_marginBottom="10dp"
android:gravity="center_vertical"
android:textSize="18dip" android:textColor="#ffffff"
android:text="Sample Layout" />

<LinearLayout android:id="@+id/controls" android:orientation="horizontal"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
style="@android:style/ButtonBar">
<Button android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:text="Yes" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:text="No" />
</LinearLayout>

<ScrollView android:id="@+id/test" android:layout_below="@id/header"
android:layout_above="@id/controls"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginBottom="5dp" android:layout_marginLeft="5dp"
android:layout_marginRight="5dp">
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
android:text="Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Integer dui odio, convallis vitae suscipit eu,
tincidunt non mi. Vestibulum faucibus pretium purus vel adipiscing.
Morbi mattis molestie risus vitae vehicula. [...]" />
</ScrollView>

</RelativeLayout>

此外,该 Activity 使用 @android:style/Theme.Dialogandroid:windowNoTitle 设置样式。

我不确定我是否理解为什么此布局会扩展以填满整个屏幕。没有一个 View 的布局高度设置为 fill_parent;父布局也未设置为 fill_parent

有谁知道我想做的事是否可行,如果可行,该怎么做?

我当前的水平布局

Layout in horizontal mode.

我当前的垂直布局

Layout in vertical mode.

最佳答案

我有一个与您的 Activity 非常相似的 Activity 。我前段时间做过,所以我真的不记得我为什么这样做和那样做,但我想我实现了你想要做的事情。这是我的代码:

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/info_root"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_gravity="bottom"
android:background="@color/color2">

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/color1">

<TextView
android:id="@+id/infos_titre"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="12dip"
android:textSize="20dip"
android:textColor="@color/color2"
android:gravity="center"
android:background="@color/color1">
</TextView>

</LinearLayout>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1">

<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content">

<LinearLayout
android:id="@+id/infos_LL"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_vertical">

<TextView
android:id="@+id/infos_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="16dip"
android:padding="4dip"
android:textColor="@color/color1"
android:lineSpacingMultiplier="1.1"
android:autoLink="web">
</TextView>
</LinearLayout>
</ScrollView>
</LinearLayout>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/color1"
android:paddingTop="6dip">

<Button
android:id="@+id/infos_remarquebutton"
android:text="Faire une remarque"
android:drawableLeft="@drawable/happy"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:textColor="@color/buttontext_color">
</Button>
<Button
android:id="@+id/infos_partagerbutton"
android:text="Partager"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_menu_share"
android:layout_weight="1"
android:textColor="@color/buttontext_color">
</Button>
</LinearLayout>

不要被法语命名打扰...

因此,我认为主要技巧是将 ScrollView 放在 LinearLayout 中。我还给那个 LinearLayout 赋予了 1 的权重(我不记得为什么......)。此外,顶部布局是线性布局,而不是代码中的相对布局,但我认为它不会改变任何东西,尽管我不熟悉 RelativeLayouts。

希望对您有所帮助!

关于带有对话框主题的Android底部按钮栏和 ScrollView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5274089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com