[英]RelativeLayout not adjusting to width of TextView properly
所以我的頭銜幾乎解釋了這一切。 我的應用程序中有一個日歷部分,一天中的時間像這樣分成多行
12
a
m
現在我希望它像這樣保持一行
12 am
並且還可以使RelativeLayout正確調整包含時間的列的寬度。 我在這里做錯了什么?
這是我的XML
<ScrollView
android:id="@+id/calendar_scroll_view"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_below="@+id/days_header_divider"
android:fadingEdge="none"
android:overScrollMode="never"
android:padding="0dp"
android:scrollbars="none">
<RelativeLayout
android:id="@+id/calendar_time_relativelayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="0dp">
<LinearLayout
android:id="@+id/calendar_time_splitter_linearlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:padding="0dp">
<RelativeLayout
android:id="@+id/hours_relativelayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<include layout="@layout/calendar_lines"/>
<TextView
android:id="@+id/time12am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="0dp"
android:gravity="center"
android:text="@string/time12am"
android:textSize="15sp"/>
<TextView
android:id="@+id/time1am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="60dp"
android:gravity="center"
android:text="@string/time1am"
android:textSize="15sp"/>
<TextView
android:id="@+id/time2am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="120dp"
android:gravity="center"
android:text="@string/time2am"
android:textSize="15sp"/>
<TextView
android:id="@+id/time3am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="180dp"
android:gravity="center"
android:text="@string/time3am"
android:textSize="15sp"/>
<TextView
android:id="@+id/time4am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="240dp"
android:gravity="center"
android:text="@string/time4am"
android:textSize="15sp"/>
<TextView
android:id="@+id/time5am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="300dp"
android:gravity="center"
android:text="@string/time5am"
android:textSize="15sp"/>
<TextView
android:id="@+id/time6am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="360dp"
android:gravity="center"
android:text="@string/time6am"
android:textSize="15sp"/>
<TextView
android:id="@+id/time7am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="420dp"
android:gravity="center"
android:text="@string/time7am"
android:textSize="15sp"/>
<TextView
android:id="@+id/time8am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="480dp"
android:gravity="center"
android:text="@string/time8am"
android:textSize="15sp"/>
<TextView
android:id="@+id/time9am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="540dp"
android:gravity="center"
android:text="@string/time9am"
android:textSize="15sp"/>
<TextView
android:id="@+id/time10am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="600dp"
android:gravity="center"
android:text="@string/time10am"
android:textSize="15sp"/>
<TextView
android:id="@+id/time11am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="660dp"
android:gravity="center"
android:text="@string/time11am"
android:textSize="15sp"/>
<TextView
android:id="@+id/time12pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="720dp"
android:gravity="center"
android:text="@string/time12pm"
android:textSize="15sp"/>
<TextView
android:id="@+id/time1pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="780dp"
android:gravity="center"
android:text="@string/time1pm"
android:textSize="15sp"/>
<TextView
android:id="@+id/time2pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="840dp"
android:gravity="center"
android:text="@string/time2pm"
android:textSize="15sp"/>
<TextView
android:id="@+id/time3pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="900dp"
android:gravity="center"
android:text="@string/time3pm"
android:textSize="15sp"/>
<TextView
android:id="@+id/time4pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="960dp"
android:gravity="center"
android:text="@string/time4pm"
android:textSize="15sp"/>
<TextView
android:id="@+id/time5pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1020dp"
android:gravity="center"
android:text="@string/time5pm"
android:textSize="15sp"/>
<TextView
android:id="@+id/time6pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1080dp"
android:gravity="center"
android:text="@string/time6pm"
android:textSize="15sp"/>
<TextView
android:id="@+id/time7pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1140dp"
android:gravity="center"
android:text="@string/time7pm"
android:textSize="15sp"/>
<TextView
android:id="@+id/time8pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1200dp"
android:gravity="center"
android:text="@string/time8pm"
android:textSize="15sp"/>
<TextView
android:id="@+id/time9pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1260dp"
android:gravity="center"
android:text="@string/time9pm"
android:textSize="15sp"/>
<TextView
android:id="@+id/time10pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1320dp"
android:gravity="center"
android:text="@string/time10pm"
android:textSize="15sp"/>
<TextView
android:id="@+id/time11pm_textview"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1380dp"
android:gravity="center|top"
android:text="@string/time11pm"
android:textSize="15sp"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/sundayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/mondayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/tuesdayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/wednesdayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/thursdayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/fridayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/saturdayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/current_time_marker_linearlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="0dp"
android:layout_marginTop="100dp"
android:baselineAligned="false"
android:orientation="horizontal"
android:padding="0dp">
<View
android:layout_width="0dp"
android:layout_height="3dp"
android:layout_weight="1"/>
<View
android:id="@+id/current_time_line_view"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_weight="14"
android:background="@android:color/holo_blue_dark"/>
</LinearLayout>
</RelativeLayout>
</ScrollView>
外部容器是RelativeLayout,在LinearLayout中僅包含Header Columns。
謝謝!
您使用android:layout_width="0dp"
和android:layout_weight="1"
定義了RelativeLayout
,而以下所有其他布局都具有android:layout_weight="2"
。 這意味着每隔一列就被拉伸為第一列的兩倍。
而是讓布局包裝其子級。 這樣,您可以確保時間不會被卷起。
<RelativeLayout
android:id="@+id/hours_relativelayout"
android:layout_width="wrap_content"
android:layout_height="match_parent">
1.將屬性android:weightSum="16.5"
到calendar_time_splitter_linearlayout
。
2.將 hours_relativelayout
更新為android:layout_weight="2.5"
。
3.您應該添加android:lines="1"
將所有時間TextView
( time12am_textview, time1am_textview....
),使之single
線。
嘗試這個:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:id="@+id/calendar_scroll_view"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_below="@+id/days_header_divider"
android:fadingEdge="none"
android:overScrollMode="never"
android:padding="0dp"
android:scrollbars="none">
<RelativeLayout
android:id="@+id/calendar_time_relativelayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="0dp">
<LinearLayout
android:id="@+id/calendar_time_splitter_linearlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:padding="0dp"
android:weightSum="16.5">
<RelativeLayout
android:id="@+id/hours_relativelayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2.5">
<include layout="@layout/calendar_lines"/>
<TextView
android:id="@+id/time12am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="0dp"
android:gravity="center"
android:text="@string/time12am"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time1am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="60dp"
android:gravity="center"
android:text="@string/time1am"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time2am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="120dp"
android:gravity="center"
android:text="@string/time2am"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time3am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="180dp"
android:gravity="center"
android:text="@string/time3am"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time4am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="240dp"
android:gravity="center"
android:text="@string/time4am"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time5am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="300dp"
android:gravity="center"
android:text="@string/time5am"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time6am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="360dp"
android:gravity="center"
android:text="@string/time6am"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time7am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="420dp"
android:gravity="center"
android:text="@string/time7am"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time8am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="480dp"
android:gravity="center"
android:text="@string/time8am"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time9am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="540dp"
android:gravity="center"
android:text="@string/time9am"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time10am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="600dp"
android:gravity="center"
android:text="@string/time10am"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time11am_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="660dp"
android:gravity="center"
android:text="@string/time11am"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time12pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="720dp"
android:gravity="center"
android:text="@string/time12pm"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time1pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="780dp"
android:gravity="center"
android:text="@string/time1pm"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time2pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="840dp"
android:gravity="center"
android:text="@string/time2pm"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time3pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="900dp"
android:gravity="center"
android:text="@string/time3pm"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time4pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="960dp"
android:gravity="center"
android:text="@string/time4pm"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time5pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1020dp"
android:gravity="center"
android:text="@string/time5pm"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time6pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1080dp"
android:gravity="center"
android:text="@string/time6pm"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time7pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1140dp"
android:gravity="center"
android:text="@string/time7pm"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time8pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1200dp"
android:gravity="center"
android:text="@string/time8pm"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time9pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1260dp"
android:gravity="center"
android:text="@string/time9pm"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time10pm_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1320dp"
android:gravity="center"
android:text="@string/time10pm"
android:textSize="15sp"
android:lines="1" />
<TextView
android:id="@+id/time11pm_textview"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:layout_marginTop="1380dp"
android:gravity="center|top"
android:text="@string/time11pm"
android:textSize="15sp"
android:lines="1" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/sundayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/mondayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/tuesdayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/wednesdayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/thursdayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/fridayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/saturdayRelativeLayout"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2">
<include layout="@layout/calendar_lines"/>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/current_time_marker_linearlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="0dp"
android:layout_marginTop="100dp"
android:baselineAligned="false"
android:orientation="horizontal"
android:padding="0dp">
<View
android:layout_width="0dp"
android:layout_height="3dp"
android:layout_weight="1"/>
<View
android:id="@+id/current_time_line_view"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_weight="14"
android:background="@android:color/holo_blue_dark"/>
</LinearLayout>
</RelativeLayout>
</ScrollView>
輸出:
希望這會有所幫助〜
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.