将textView设置为右下角

时间:2017-04-03 16:44:00

标签: listview xamarin textview android-linearlayout relativelayout

我尝试将两个文本视图修复到右下角并将其保持在列表视图上方。 如果列表视图为空,我希望它固定在右下角,但如果我将一些项添加到列表视图中,则使用此代码,textview将消失。 Layout Image

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <LinearLayout
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/relativeLayout1">
        <Button
            android:text="Fechar Comanda"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btnFecharComanda" />
        <Button
            android:text="Extrato"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btnExtrato" />
        <Button
            android:text="Enviar Cozinha"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btnEnviarCozinha" />
        <Button
            android:text="Anterior"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btnAnterior" />
    </LinearLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:minWidth="25px"
        android:minHeight="25px"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/linearLayout1"
        android:weightSum="100">
        <ListView
            android:id="@+id/sportsList"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:entries="@array/primeira"
            android:layout_weight="33" />
        <ListView
            android:id="@+id/sportsList_1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:entries="@array/segunda"
            android:layout_weight="34" />
        <LinearLayout
            android:orientation="vertical"
            android:layout_weight="33"
            android:id="@+id/linearLay123123"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:weightSum="100">
            <ListView
                android:id="@+id/sportsList_2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:entries="@array/terceira" />
            <LinearLayout
                android:orientation="vertical"
                android:id="@+id/odkjfs"
                android:layout_width="match_parent"
                android:layout_height="100px"
                android:gravity="bottom">
                <TextView
                    android:text="Total"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:id="@+id/textView2"
                    android:gravity="end"
                    android:layout_marginRight="10dp" />
                <TextView
                    android:text="R$15"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:id="@+id/textView1"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="end"
                    android:layout_marginRight="10dp"
                    android:layout_marginBottom="10dp" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

因此,您已使用ReleativeLayout标记了您的问题,这就是问题的解决方案。您需要将linearLay123123更改为RelativeLayout并告诉布局系统,您始终需要{right}位于右下角,而odkjfs ListView位于其上方:

sportsList_2

你很难记住,所以我建议你改变它们。

但是让我们分解上面的布局。您有一个包含两行的外部布局。底部有三列。你想要改变的是最右边的列,以便在它的底部保留一些东西。

因此,最简单的方法是从<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:minWidth="25px" android:minHeight="25px" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/relativeLayout1"> <Button android:text="Fechar Comanda" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnFecharComanda" /> <Button android:text="Extrato" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnExtrato" /> <Button android:text="Enviar Cozinha" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnEnviarCozinha" /> <Button android:text="Anterior" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnAnterior" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:minWidth="25px" android:minHeight="25px" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:weightSum="100"> <ListView android:id="@+id/sportsList" android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/primeira" android:layout_weight="33" /> <ListView android:id="@+id/sportsList_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/segunda" android:layout_weight="34" /> <RelativeLayout android:layout_weight="33" android:id="@+id/linearLay123123" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/sportsList_2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_above="@+id/odkjfs" android:entries="@array/terceira" /> <LinearLayout android:orientation="vertical" android:id="@+id/odkjfs" android:layout_width="match_parent" android:layout_height="100px" android:layout_alignParentBottom="true" android:layout_alignParentRight="true"> <TextView android:text="Total" android:textAppearance="?android:attr/textAppearanceSmall" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/textView2" android:gravity="end" android:layout_marginRight="10dp" /> <TextView android:text="R$15" android:textAppearance="?android:attr/textAppearanceMedium" android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="end" android:layout_marginRight="10dp" android:layout_marginBottom="10dp" /> </LinearLayout> </RelativeLayout> </LinearLayout> </LinearLayout> 更改为LinearLayout,因为更容易将视图相对于彼此对齐,如名称所示。

因此,在将其更改为RelativeLayout后,我们需要告诉RelativeLayout与顶部对齐。并且它需要将其高度调整为高于下面的内容。

ListView

然后在你想要在右下角的android:layout_alignParentTop="true" android:layout_above="@+id/odkjfs" 上。我们需要告诉它调整正确,并调整到底部:

LinearLayout

这很简单。