布局问题

时间:2014-10-16 19:39:45

标签: android xml user-interface layout textview

我在相对布局中有一些FrameLayouts。在FrameLayouts中有一些TextViews。我希望这些文本视图位于中心或左上角。问题是,我无法弄清楚如何做到这一点...... 它目前看起来像这样:

http://i.stack.imgur.com/fJSz2.png (对不起,链接)

这是我的布局xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context="com.timbremer.ctdataviewer.MainActivity"
tools:ignore="MergeRootFrame"
android:padding="16dp"
android:paddingBottom="16dp"
android:paddingTop="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:background="#eeeeee"
xmlns:app="http://schemas.android.com/apk/res-auto">



<FrameLayout
android:background="@drawable/bg_card"
android:layout_height="117dp"
android:layout_width="match_parent"
android:id="@+id/frameLayout"
    android:layout_marginLeft="4dp"
    android:layout_marginRight="4dp"
    android:layout_alignParentTop="true">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Verbrauchtes Volumen:"
    android:id="@+id/tv1"
    android:layout_gravity="left|top"
    android:layout_alignParentStart="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Bitte aktualisieren."
    android:id="@+id/tvused"
    android:layout_gravity="center" />
</FrameLayout>

<FrameLayout
    android:background="@drawable/bg_card"
    android:layout_height="117dp"
    android:layout_width="match_parent"
    android:id="@+id/frameLayout4"
    android:layout_below="@+id/frameLayout"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="false"
    android:layout_margin="4dp">

    <TextView
        android:layout_width="83dp"
        android:layout_height="10dp"
        android:text="Gesamtvolumen:"
        android:id="@+id/tv2"
        android:layout_marginTop="65dp"
        android:layout_gravity="left|top"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" />

    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Bitte aktualisieren."
    android:id="@+id/tvgesamt"
        android:layout_gravity="center" />

</FrameLayout>

<FrameLayout
    android:background="@drawable/bg_card"
    android:layout_height="117dp"
    android:layout_width="match_parent"
    android:id="@+id/frameLayout2"
    android:layout_below="@+id/frameLayout4"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="false"
    android:layout_margin="4dp">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Abrechnungszeitraum"
        android:id="@+id/tv3"
        android:layout_marginTop="74dp"
        android:layout_gravity="left|top"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Bitte aktualisieren."
        android:id="@+id/tvzeit"
        android:layout_gravity="center" />

</FrameLayout>

<FrameLayout
    android:background="@drawable/bg_card"
    android:layout_height="117dp"
    android:layout_width="match_parent"
    android:id="@+id/frameLayout3"
    android:layout_alignLeft="@+id/frameLayout2"
    android:layout_alignRight="@+id/frameLayout2"
    android:layout_alignParentBottom="true"
    android:layout_below="@+id/frameLayout2">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Maximale Geschwindigkeit:"
        android:id="@+id/tv4"
        android:layout_marginTop="47dp"
        android:layout_gravity="left|top"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Bitte aktualisieren."
        android:id="@+id/tvspeed"
        android:layout_gravity="center" />

    <com.faizmalkani.floatingactionbutton.FloatingActionButton
        android:id="@+id/fabbutton"
        android:layout_width="72dp"
        android:layout_height="72dp"
        android:layout_gravity="bottom|end"
        app:drawable="@drawable/ic_action_refresh"
        app:color="#556ffd"/>

</FrameLayout>


</RelativeLayout>

你知道怎么做吗?我只是无法正确放置我的TextView ...

谢谢!

2 个答案:

答案 0 :(得分:1)

只需使用以下代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/container"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            tools:context="com.timbremer.ctdataviewer.MainActivity"
            tools:ignore="MergeRootFrame"
            android:padding="16dp"
            android:paddingBottom="16dp"
            android:paddingTop="16dp"
            android:paddingLeft="16dp"
            android:paddingRight="16dp"
            android:background="#eeeeee"
            xmlns:app="http://schemas.android.com/apk/res-auto">



            <FrameLayout 
            android:layout_height="117dp"
            android:layout_width="match_parent"
            android:id="@+id/frameLayout"
                android:layout_marginLeft="4dp"
                android:layout_marginRight="4dp"
                android:layout_alignParentTop="true">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Verbrauchtes Volumen:"
                android:id="@+id/tv1"   />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Bitte aktualisieren."
                android:id="@+id/tvused"
                android:layout_marginTop="15dp"   />
            </FrameLayout>

            <FrameLayout
                android:id="@+id/frameLayout4"
                android:layout_width="match_parent"
                android:layout_height="117dp"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="false"
                android:layout_below="@+id/frameLayout"
                android:layout_margin="4dp"  >

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Gesamtvolumen:"
                    android:id="@+id/tv2" />

                <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Bitte aktualisieren."
                android:id="@+id/tvgesamt"
                android:layout_marginTop="20dp"  />

            </FrameLayout>

            <FrameLayout 
                android:layout_height="117dp"
                android:layout_width="match_parent"
                android:id="@+id/frameLayout2"
                android:layout_below="@+id/frameLayout4"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="false"
                android:layout_margin="4dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Abrechnungszeitraum"
                    android:id="@+id/tv3" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Bitte aktualisieren."
                    android:id="@+id/tvzeit"
                    android:layout_marginTop="20dp"  />

            </FrameLayout>

            <FrameLayout 
                android:layout_height="117dp"
                android:layout_width="match_parent"
                android:id="@+id/frameLayout3"
                android:layout_alignLeft="@+id/frameLayout2"
                android:layout_alignRight="@+id/frameLayout2"
                android:layout_alignParentBottom="true"
                android:layout_below="@+id/frameLayout2">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Maximale Geschwindigkeit:"
                    android:id="@+id/tv4"
                    android:layout_marginTop="20dp" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Bitte aktualisieren."
                    android:id="@+id/tvspeed" />

                <com.faizmalkani.floatingactionbutton.FloatingActionButton
                    android:id="@+id/fabbutton"
                    android:layout_width="72dp"
                    android:layout_height="72dp"
                    android:layout_gravity="bottom|end"  />

            </FrameLayout>


            </RelativeLayout>

答案 1 :(得分:0)

我没有真正阅读你的所有xml进行此更改.... 对你的FrameLayouts这样做

    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal"
左上角的

执行此操作

   android:layout_gravity="top|left"
   android:gravity="top|left"

并将您的框架布局更改为

android:layout_width="wrap_content"

如果我有帮助,请告诉我。