我在RelativeLayout中有一个简单的LinearLayout,可以动态添加自定义子视图。
<RelativeLayout
android:id="@+id/chart_main_panel"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_toLeftOf="@id/chart_right_panel" >
...
<LinearLayout
android:id="@+id/label_xAxis"
android:layout_width="match_parent"
android:layout_height="@dimen/chart_frag_time_height"
android:layout_above="@id/volume_lay"
android:paddingRight="@dimen/chart_right_padding"
android:clipChildren="true"
android:gravity="right"
android:orientation="horizontal">
</LinearLayout>
...
</RelativeLayout>
以下是扩展TextView的自定义子视图的属性。 (宽度和文本在添加到LinearLayout之前已更改。)
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingTop="3dip"
android:gravity="center"
android:maxLines="1"
android:textSize="@dimen/axis_text_size">
当我横向缩小布局时,我希望保留子视图 布局,但滑动&#39;在布局的左侧,被剪裁在它的左边缘(如溢出:隐藏在css中),右边的视图保持它们的大小和相对位置以及布局。目前正好相反,我找不到一种简单的方法来调整这种行为。
*我有一张发生了什么事的照片,但没有足够的代表发布 - 抱歉。
答案 0 :(得分:0)
在徒劳无功地寻找这个简单的方法之后,我已经辞职了:
扩展HorizontalScrollView并覆盖其onLayout()方法:
class HideHorizontalLeftOverflowWrapper extends HorizontalScrollView
{
...
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b)
{
super.onLayout(changed,l, t, r, b);
View wrappedView = super.getChildAt(0);
if( wrappedView != null)
super.scrollTo(wrappedView.getWidth(), 0);
}
}
用它包装LinearLayout:
<com...HideHorizontalLeftOverflowWrapper
android:id="@+id/ofwrap_xAxis"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:measureAllChildren="true"
android:scrollbars="none" >
<LinearLayout
android:id="@+id/label_xAxis"
android:layout_width="wrap_content"
android:layout_height="@dimen/chart_frag_time_height"
android:layout_gravity="right"
android:paddingRight="@dimen/chart_right_padding"
android:orientation="horizontal"
android:clipChildren="true"
android:gravity="right" >
</LinearLayout>
</com...HideHorizontalLeftOverflowWrapper>