在相对布局中更改文本视图的顺序:Android

时间:2017-06-25 05:53:50

标签: android textview relativelayout

我的相对布局包含文本视图,列出一周中的日期以及该特定日期的时间。 我想要的是在特定情况下以编程方式更改文本视图的顺序。我们的想法是,日期的名称将按顺序显示,以便显示从今天的当天开始的日期。 例如,假设今天是星期日,列表将从其他日子之后的星期日开始,类似地,当它是星期一时,列表将从星期一开始。

文本视图的布局如,

  <RelativeLayout
        android:id="@+id/time_expandable"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/time_area"
        android:animateLayoutChanges="true"
        android:clickable="true">

        <TextView
            android:id="@+id/company_day1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="12dp"
            android:layout_marginRight="0dp"
            android:layout_marginTop="15dp"
            android:text="Monday"
            android:textColor="#555555"
            android:textSize="15sp"
            android:textStyle="bold"
            android:clickable="false"/>

        <TextView
            android:id="@+id/company_time1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="37dp"
            android:layout_marginTop="15dp"
            android:text=""
            android:textColor="#555555"
            android:layout_toRightOf="@+id/company_day1"
            android:textSize="15sp"
            android:textStyle="bold"
            android:clickable="false"/>

        <TextView
            android:id="@+id/company_day2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="12dp"
            android:layout_marginRight="0dp"
            android:layout_marginTop="15dp"
            android:text="Tuesday"
            android:layout_below="@+id/company_day1"
            android:textColor="#555555"
            android:textSize="15sp"
            android:textStyle="bold"
            android:clickable="false"/>

        <TextView
            android:id="@+id/company_time2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="35dp"
            android:layout_marginTop="15dp"
            android:text=""
            android:textColor="#555555"
            android:layout_below="@+id/company_day1"
            android:layout_toRightOf="@+id/company_day2"
            android:textSize="15sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/company_day3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="12dp"
            android:layout_marginRight="0dp"
            android:layout_marginTop="15dp"
            android:text="Wednesday"
            android:layout_below="@+id/company_day2"
            android:textColor="#555555"
            android:textSize="15sp"
            android:textStyle="bold"
            android:clickable="false"/>

        <TextView
            android:id="@+id/company_time3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="15dp"
            android:text=""
            android:textColor="#555555"
            android:layout_toRightOf="@+id/company_day3"
            android:layout_below="@+id/company_day2"
            android:textSize="15sp"
            android:textStyle="bold"
            android:clickable="false"/>

        <TextView
            android:id="@+id/company_day4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="12dp"
            android:layout_marginRight="0dp"
            android:layout_marginTop="15dp"
            android:text="Thursday"
            android:layout_below="@+id/company_day3"
            android:textColor="#555555"
            android:textSize="15sp"
            android:textStyle="bold"
            android:clickable="false"/>

        <TextView
            android:id="@+id/company_time4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="29dp"
            android:layout_marginTop="15dp"
            android:text=""
            android:textColor="#555555"
            android:layout_toRightOf="@+id/company_day4"
            android:layout_below="@+id/company_day3"
            android:textSize="15sp"
            android:textStyle="bold"
            android:clickable="false"/>

        <TextView
            android:id="@+id/company_day5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="12dp"
            android:layout_marginRight="0dp"
            android:layout_marginTop="15dp"
            android:text="Friday"
            android:layout_below="@+id/company_day4"
            android:textColor="#555555"
            android:textSize="15sp"
            android:textStyle="bold"
            android:clickable="false"/>

        <TextView
            android:id="@+id/company_time5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="51dp"
            android:layout_marginTop="15dp"
            android:text=""
            android:textColor="#555555"
            android:layout_toRightOf="@+id/company_day5"
            android:layout_below="@+id/company_day4"
            android:textSize="15sp"
            android:textStyle="bold"
            android:clickable="false"/>

        <TextView
            android:id="@+id/company_day6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="12dp"
            android:layout_marginRight="0dp"
            android:layout_marginTop="15dp"
            android:text="Saturday"
            android:layout_below="@+id/company_day5"
            android:textColor="#555555"
            android:textSize="15sp"
            android:textStyle="bold"
            android:clickable="false"/>

        <TextView
            android:id="@+id/company_time6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="32dp"
            android:layout_marginTop="15dp"
            android:text=""
            android:layout_toRightOf="@+id/company_day6"
            android:layout_below="@+id/company_day5"
            android:textColor="#555555"
            android:textSize="15sp"
            android:textStyle="bold"
            android:clickable="false"/>

        <TextView
            android:id="@+id/company_day7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="12dp"
            android:layout_marginRight="0dp"
            android:layout_marginTop="15dp"
            android:text="Sunday"
            android:layout_below="@+id/company_day6"
            android:textColor="#555555"
            android:textSize="15sp"
            android:textStyle="bold"
            android:clickable="false"/>

        <TextView
            android:id="@+id/company_time7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="42dp"
            android:layout_marginTop="15dp"
            android:text=""
            android:layout_toRightOf="@+id/company_day7"
            android:layout_below="@+id/company_day6"
            android:textColor="#555555"
            android:textSize="15sp"
            android:textStyle="bold"
            android:clickable="false"/>
    </RelativeLayout>

我不知道我怎么能阻止它。我查看了一些链接,例如:  How do I change the order of the textviews and buttons in a linerLayout or RelativeLayout?

change order of views in linear layout android

但是,我不知道该怎么做。请任何人都可以帮忙吗?The image shows the list of days starting from Sunday since today is sunday. Similarly I need the list to change with respect to the current day

2 个答案:

答案 0 :(得分:0)

你不需要。而不是重新排序视图,重新映射每个视图中放置的信息。例如,如果今天是星期天,请执行

{{1}}

等。移动视图将是不必要的困难。重新映射相当容易。

答案 1 :(得分:0)

不是硬编码布局文件中的日期,而是将其留空。在二维数组中初始化import {} from '@types/googlemaps'; import { AgmCoreModule, MapsAPILoader } from "@agm/core"; s。在另一个二维数组中输入您的日期和时间的值。然后运行嵌套循环以填充calculateDistance() { const nyc = new google.maps.LatLng(40.715, -74.002); const london = new google.maps.LatLng(51.506, -0.119); const distance = google.maps.geometry.spherical.computeDistanceBetween(nyc, london); console.log(distance) } 。这将使您的代码可读且灵活。

TextView