2017-06-25 27 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]); 
    } 
}