在 Android 处将大于其容器的视图居中

Centering View that is larger than its container at Android

我们有一个水平 LinearLayout,其中包含一堆垂直 LinearLayout,以编程方式创建。 total sum of vertical LinearLayout width 比其容器大,所以我只想显示中心元素(不滚动并且没有删除,只是以某种方式定位)。

有没有办法在其 RelativeLayout 容器 中将水平 LinearLayout 居中?

水平 LinearLayout 比其容器,即 根元素,RelativeLayout.

<RelativeLayout>
    <LinearLayout android:orientation="horizontal">
        <LinearLayout android:orientation="vertical" />
        ...
    </LinearLayout>
</RelativeLayout>

仅使用 RelativeLayout 和 LinearLayout 是无法实现的。那些不提供 "scroll"。您必须包装 LinearLayout 的内容并将其包装在 Horizo​​ntalScrollView 上,然后 "the math" 滚动到中心或使用 ViewPager、Gallery 或其他为包含的视图提供滚动的视图容器。