[英]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.