【问题标题】:Android Interface -- Restrict TextViews to a ScrollboxAndroid 界面 -- 将 TextViews 限制为滚动框
【发布时间】:2012-04-06 04:13:15
【问题描述】:

我正在使用具有三个 TextView 的相对布局,一个在彼此之上。然后,相对于屏幕的底部,有一个类似指南针的四个按钮的设置,相对于最上面的那个,它上面有三个按钮,一个 EditText 和另一个 Button 在上面。

我希望三个 TextView 仍然相互堆叠,但我希望它们位于从界面顶部延伸到 EditText 顶部的滚动框中。但是,我不知道如何在 Android 的 XML 中执行此操作。有没有人有任何建议,或者有关于这个问题的有用教程的链接?

编辑:我的 XML:

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


    <Button
        android:id="@+id/turnS"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:text="Turn S" />

    <Button
        android:id="@+id/turnW"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/turnS"
        android:layout_toLeftOf="@id/turnS"
        android:text="Turn W" />

    <Button
        android:id="@+id/turnE"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/turnS"
        android:layout_toRightOf="@id/turnS"
        android:text="Turn E" />

    <Button
        android:id="@+id/turnN"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/turnW"
        android:layout_centerHorizontal="true"
        android:text="Turn N" />

    <Button
        android:id="@+id/lookB"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_above="@id/turnN"
        android:text="     Look     " />

    <Button
        android:id="@+id/takeB"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/turnN"
        android:layout_centerHorizontal="true"
        android:text="     Take    " />

    <Button
        android:id="@+id/useB"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_above="@id/turnN"
        android:text="       Use     " />

    <Button
        android:id="@+id/Enter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/useB"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/edittext" />


    <TextView
        android:id="@+id/lookView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:textColor="#FFA500"

        android:text="@string/hello" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="#FFFF00"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/lookView"
        android:text="@string/hello" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="fill_parent"
        android:textColor="#00FF00"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/textView1"
        android:text="@string/hello" />


    <EditText
        android:id="@+id/edittext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_above="@id/lookB"
        android:layout_toLeftOf="@+id/Enter" >

        <requestFocus />
    </EditText>

</RelativeLayout>

非常感谢, 塞尔达鲁拉

【问题讨论】:

  • 不清楚,你能告诉我你的意思是什么“我希望三个 TextView 仍然相互堆叠,但我希望它们位于从界面顶部”
  • 我希望所有按钮和底部的输入保持在原位,但我希望溢出的文本停止在编辑框上方,然后,这样可以看到,你可以上下滚动查看所有内容。
  • 在此处发布您的 xml 文件,谢谢
  • 当然,我已将其添加到原始帖子中。谢谢!

标签: android xml android-layout layout textview


【解决方案1】:

试试这个布局:

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

    <Button
        android:id="@+id/turnS"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:text="Turn S" />

    <Button
        android:id="@+id/turnW"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/turnS"
        android:layout_toLeftOf="@id/turnS"
        android:text="Turn W" />

    <Button
        android:id="@+id/turnE"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/turnS"
        android:layout_toRightOf="@id/turnS"
        android:text="Turn E" />

    <Button
        android:id="@+id/turnN"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/turnW"
        android:layout_centerHorizontal="true"
        android:text="Turn N" />

    <Button
        android:id="@+id/lookB"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/turnN"
        android:layout_alignParentRight="true"
        android:text="     Look     " />

    <Button
        android:id="@+id/takeB"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/turnN"
        android:layout_centerHorizontal="true"
        android:text="     Take    " />

    <Button
        android:id="@+id/useB"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/turnN"
        android:layout_alignParentLeft="true"
        android:text="       Use     " />

    <Button
        android:id="@+id/Enter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/useB"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/edittext" />

    <EditText
        android:id="@+id/edittext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/lookB"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@+id/Enter" />

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_above="@id/edittext" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/lookView"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"                
                android:text="@string/hello"
                android:textColor="#FFA500" />

            <TextView
                android:id="@+id/textView1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"                
                android:text="@string/hello"
                android:textColor="#FFFF00" />

            <TextView
                android:id="@+id/textView2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"                
                android:text="@string/hello"
                android:textColor="#00FF00" />
        </LinearLayout>
    </ScrollView>

</RelativeLayout>

【讨论】:

  • 我在学校一直在做这个,因此直到星期一我才有机会测试它,但是,这个 ScrollView + LinearLayout 组合正是我认为必须完成的,所以我期待它能够工作。 (我在星期五发现了 ScrollView,并了解到它必须与 Linear 一起使用,但后来时间用完了。)非常感谢,我会尽快尝试。 :)
  • @Zeldarulah 您可以使用任何View 代替LinearLayout,只是ScrollView 要求它必须只有一个孩子。
  • @Zeldarulah 我不明白你想做什么,也许是一张图片(或更好的描述)?
  • 没关系,我改变了一些东西,所以现在最好将它默认放在顶部。感谢所有的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-31
  • 1970-01-01
  • 2011-12-08
  • 2011-03-08
  • 1970-01-01
  • 1970-01-01
  • 2013-10-28
相关资源
最近更新 更多