当前位置: 首页 > 知识库问答 >
问题:

通过在relativelayout(或linearlayout)中自底向上添加按钮来增加scrollview

仲孙温文
2023-03-14

可能真的需要一些帮助。

我试图从屏幕底部的一个按钮开始。当我的计数器++按钮被单击时,第二个按钮将在屏幕底部的按钮上方动态创建。我能够做到这一点,问题是当我的按钮到达屏幕顶部时,滚动视图的高度不会增加。请看下面我的例子。

我假设scrollview只在当前视图下面添加项时才会增加,尽管如果是这样的话,难道我不能创建几个从底部开始向上的按钮吗?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:context="com.example.bbetzner.ttt.Map">

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    >

    <RelativeLayout
        android:id="@+id/layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        >

    <Button
        android:id="@+id/count"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="count++"

        />

    <Button
        android:id="@+id/floor0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:text="0"

        />

    </RelativeLayout>
</ScrollView>
</RelativeLayout>

Java:

public void addfloor(){

    Button myButton = new Button(this);
    myButton.setText(""+floor);
    margincount += 100;

    RelativeLayout ll = findViewById(R.id.layout);
    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
    lp.addRule(RelativeLayout.ABOVE, R.id.floor0);
    lp.addRule(RelativeLayout.CENTER_HORIZONTAL);
    lp.bottomMargin = margincount;
    ll.addView(myButton, lp);

}

我也尝试在线性布局中这样做,看看scrollview是否会增加,但我不知道如何在线性布局中从下到上堆叠按钮。:S

提前感谢,yall太棒了!

共有1个答案

田马鲁
2023-03-14

这是你的设计部分快乐编码......

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>

   <LinearLayout
        android:id="@+id/layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        >

        <Button
            android:id="@+id/count"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="count++"

            />
        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fillViewport="true"
            >
        <LinearLayout
            android:id="@+id/layout1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:gravity="center"

            >


            <Button
                android:id="@+id/floor0"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:text="0"

                />
            <Button
                android:id="@+id/floor1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:text="7"

                />
            <Button
                android:id="@+id/floor2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:text="6"

                />
            <Button
                android:id="@+id/floor3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:text="5"

                />
            <Button
                android:id="@+id/floor4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:text="4"

                />
            <Button
                android:id="@+id/floor5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:text="0"

                /><Button
            android:id="@+id/floor6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:text="3"

            /><Button
            android:id="@+id/floor7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:text="2"

            />
            <Button
                android:id="@+id/floor8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:text="1"

                />
            <Button
                android:id="@+id/floor9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                android:text="0"

                />


        </LinearLayout>
        </ScrollView>
    </LinearLayout>
 类似资料:
  • 我做了,有一个按钮,我想在通知和按钮点击上执行两个不同的

  • 你能帮我解决这个问题吗? 我在类<code>单元格</code>中创建按钮,并向该按钮添加一些默认操作。 在< code>Game类中,我想给这个按钮添加额外的动作,但我也想保留默认动作。 我知道新操作覆盖了以前的操作。因此,如果我单击按钮,它只会打印。 是否可以向按钮添加新操作并保留以前的连接?

  • 我是新手颤动,我使用Firebase消息发送通知到设备,我们使用Web API发送请求到Firebase发送通知和Firebase发送通知到Android。我想在通知标题和身体显示两个按钮(接受和拒绝)像瓦特应用程序通知标记为已读选项我想要这样的东西。 我添加的Android清单文件: 颤振码 Web api服务代码

  • 我在这里看到了一些例子:http://docs.oracle.com/javase/7/docs/api/javax/swing/joptionpane.html 它似乎表明我应该用一个自定义的按钮列表来替换我的组合框,这不是我想要的。我需要有3个按钮(好的,跳过,取消),以及项目列表。 更新:为了说明我的GUI应该是什么样子: null 目前我的代码如下所示: 灵感来自:Java:showInp

  • 我有一些问题在按钮中添加代码,所以示例:我在数量上输入2它将*价格和数量示例400*2=800,但当我再次输入2意味着800x2=1600,有人能指导我吗?谢谢,最后2行显示了错误。 `private void jButton2ActionPerformed(java.awt.event.ActionEvt){ int id=integer.parseint(jTextField1.getText