如何将scrollView布局高度设置为片段的顶部

时间:2016-09-29 19:56:21

标签: android xml android-layout android-studio android-fragments

我有一个应用程序,其中scrollView(其中的相对布局)占据整个屏幕(fill_parent)。但不是在手机的末尾结束,我想在底部有一个片段,并让ScrollView布局停在片段的顶部。我认为它可能与高度有关,但无法真正弄清楚代码。请看我的imgur图像来获取我的想法。 Imgur_Image, press here



<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true">


    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent"><![CDATA[


    tools:context="c.timno.smsgsm.MainActivity">



    ]]>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="status?"
        android:id="@+id/skicka"
        android:hint="Status?"

        android:layout_marginTop="38dp"
        android:layout_below="@+id/buttonanvandare"
        android:layout_centerHorizontal="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="på"
        android:id="@+id/skickaaon"
        android:layout_marginEnd="36dp"
        android:layout_below="@+id/textViewlarm"
        android:layout_alignEnd="@+id/skicka" />

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

        android:layout_below="@+id/textViewlarm"
        android:layout_toEndOf="@+id/skickarela1" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Relä 1"
        android:id="@+id/skickarela1"
        android:layout_alignTop="@+id/skickarela2"
        android:layout_alignStart="@+id/skickaaon" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Relä 2"
        android:id="@+id/skickarela2"
        android:layout_below="@+id/textView"
        android:layout_toEndOf="@+id/skickarela1" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Aktivera"
        android:gravity="center"
        android:textSize="29dp"
        android:id="@+id/textView"
        android:layout_below="@+id/skickaaon"
        android:layout_alignParentStart="true" />


    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"

        android:text="Larm"
        android:textSize="29dp"
        android:id="@+id/textViewlarm"
        android:layout_below="@+id/skicka"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Avaktivera"
        android:textSize="29dp"
        android:id="@+id/textView3"
        android:autoText="false"
        android:layout_below="@+id/textView"
        android:layout_alignEnd="@+id/buttoninstallator"
        android:layout_marginTop="46dp" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Relä 1"
        android:id="@+id/skickatrela1off"
        android:layout_below="@+id/textView3"
        android:layout_toStartOf="@+id/skickatrela2off" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Relä 2"
        android:id="@+id/skickatrela2off"
        android:layout_alignTop="@+id/skickatrela1off"
        android:layout_alignStart="@+id/skickarela2" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Användare"
        android:id="@+id/buttonanvandare"
        android:layout_alignParentStart="true"
        android:layout_toStartOf="@+id/skickaaoff" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Installation"
        android:id="@+id/buttoninstallator"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true"
        android:layout_toEndOf="@+id/buttonanvandare" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="status?"
        android:id="@+id/statustxt"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="aon"
        android:id="@+id/aon"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="aoff"
        android:id="@+id/aoff"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/statustxt" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="on*1*"
        android:id="@+id/rela1txxt"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="On*2*"
        android:id="@+id/rela2onn"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="off*2*"
        android:id="@+id/rela2offtxt"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="off*1*"
        android:id="@+id/offrela1txt"
        android:layout_alignParentBottom="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Värmestyrning"
        android:textSize="33dp"
        android:id="@+id/textView8"
        android:layout_below="@+id/skickatrela1off"
        android:layout_marginTop="25dp" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Komfortvärme"
        android:textSize="29dp"
        android:id="@+id/textView9"
        android:layout_below="@+id/textView8" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Heaton"
        android:id="@+id/btnHeaton"
        android:layout_below="@+id/textView9"
        android:layout_alignEnd="@+id/skickatrela1off" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Heatoff"
        android:id="@+id/btnHeatoff"
        android:layout_below="@+id/textView9"
        android:layout_alignStart="@+id/skickatrela2off" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Underhållsvärme"
        android:textSize="29dp"
        android:id="@+id/textView10"
        android:layout_below="@+id/btnHeaton"
        android:layout_centerHorizontal="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Termon"
        android:id="@+id/btnTermon"
        android:layout_below="@+id/textView10"
        android:layout_toStartOf="@+id/btnHeatoff" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Termoff"
        android:id="@+id/btnTermoff"
        android:layout_alignBottom="@+id/btnTermon"
        android:layout_toEndOf="@+id/btnTermon" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="Heaton"
        android:id="@+id/txtHeaton"
        android:layout_alignTop="@+id/statustxt"
        android:layout_alignEnd="@+id/statustxt" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="Heatoff"
        android:id="@+id/txtHeatoff"
        android:layout_alignBottom="@+id/statustxt"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="Termon"
        android:id="@+id/txtTermon"
        android:layout_alignBaseline="@+id/aoff"
        android:layout_alignBottom="@+id/aoff"
        android:layout_alignEnd="@+id/statustxt" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="Termoff"
        android:id="@+id/txtTermoff"
        android:layout_alignTop="@+id/statustxt"
        android:layout_alignEnd="@+id/txtHeatoff" />

        <fragment
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:name="c.timno.smsgsm20.SecondFragment"
            android:id="@+id/fragmentsms"
            android:layout_below="@+id/textView8"
            android:layout_alignParentStart="true"
            tools:layout="@layout/second_layout"
            android:layout_above="@+id/textView10" />


    </RelativeLayout>
</ScrollView>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

我建议将ScrollViewFragment放在新的顶级元素中,然后使用该元素中的相应方法调整每个元素的大小和位置。

例如,使用RelativeLayout

<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  ...>
   <ScrollView
     android:id="@+id/scrollview"
     android:layout_above="@+id/frag"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     ...>
       <RelativeLayout
         android:paddingBottom="50dp"
         ...>
          ...
       </RelativeLayout>
     ...
   </ScrollView>
   <Fragment
      android:id="@+id/frag"
      android:layout_alignParentBottom="true"
      android:layout_width="match_parent"
      android:layout_height="50dp"
      ...>
     ...
   </Fragment>
</RelativeLayout>

(请注意,RelativeLayoutScrollView底部的填充与Fragment的高度相匹配,因此ScrollView的内容不会与Fragment的内容相符隐藏在LinearLayout

后面

您也可以使用android:orientation="vertical"作为父元素,其属性为ScrollViewFragmentlayout_weight各自获得适当的model() { return this.store.createRecord('player'); }, 属性,但那不是那么干净,所以如果你愿意的话,我会留给你。

答案 1 :(得分:0)

<ScrollView>

 <RelativeLayout>
    //main content
 </RelativeLayout>
  <FrameLayout android:alignParentBottom="true"/>  load fragment here dynamically(or not)

</ScrollView>

这对我有用。检查this question以及

相关问题