2017-06-25 31 views
-1

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

与文本视图中的布局是什么样子,

<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> 

我不知道我怎么能impelent这一点。我已经经历了一些链接看起来像: 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

+0

添加你想要实现的和实现的。屏幕截图 – seon

回答

0

你不需要。重新排序视图,而不是重新排列每个视图中的信息。例如,如果今天是星期天,那么

((TextView)findViewById(R.id.company_day1)).setText("Sunday");  
((TextView)findViewById(R.id.company_day2)).setText("Monday"); 

等。移动视图将会不必要地困难。重新映射相当简单。

0

而不是硬编码布局文件中的日子,我会留下空白。初始化一个二维数组中的TextView。在另一个二维数组中输入您的日期和时间值。然后运行一个嵌套循环来填充TextView。这会让你的代码易读和灵活。

TextView[][] tvs; 
String[][] values; 

for(int i = 0 ; i < tvs.length ; i++) { 
    for(int j = 0 ; j < tvs[i].length ; j++) { 
     tvs[i][j].setText(values[i][j]); 
    } 
}