【问题标题】:Problems with my layout我的布局有问题
【发布时间】:2014-12-12 07:12:06
【问题描述】:

我在相对布局中有一些 FrameLayout。在 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>

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

谢谢!

【问题讨论】:

    标签: android xml user-interface layout textview


    【解决方案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>
    

    【讨论】:

      【解决方案2】:

      我并没有真正阅读您的所有 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"
      

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

      【讨论】:

      • 那也没用。我解决了。我只是删除并重新粘贴了文本视图,一切正常 :D 但还是谢谢你!
      • ayt..如果你解决了你的问题@tbremer19快乐编码
      猜你喜欢
      • 1970-01-01
      • 2019-08-28
      • 2019-06-11
      • 2017-08-05
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      相关资源
      最近更新 更多