Android 如何设置线性布局中动态添加的充气布局中心

Android 如何设置线性布局中动态添加的充气布局中心,android,android-linearlayout,horizontalscrollview,layout-gravity,Android,Android Linearlayout,Horizontalscrollview,Layout Gravity,我在线性布局中动态添加充气布局,我需要根据布局数量设置布局中心。假设布局为两个,则它从中心开始显示 以下是我的xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <HorizontalScrollView andro

我在线性布局中动态添加充气布局,我需要根据布局数量设置布局中心。假设布局为两个,则它从中心开始显示

以下是我的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<HorizontalScrollView
    android:id="@+id/hsv_category_list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:scrollbars="none">

    <LinearLayout
        android:id="@+id/ll_placeHolder"
        android:layout_width="wrap_content"
        android:layout_height="100dp"
        android:orientation="horizontal">

    </LinearLayout>

</HorizontalScrollView>

</RelativeLayout>

下面是我的班级

public class ScrollTest extends Activity {

HorizontalScrollView hsv_category_list;
LinearLayout ll_placeHolder;
View layoutView[];

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.scroll_test);
    hsv_category_list = (HorizontalScrollView) 
   findViewById(R.id.hsv_category_list);
    ll_placeHolder = (LinearLayout) findViewById(R.id.ll_placeHolder);
    layoutView = new View[2];

    for (int i = 0; i < 2; i++) {
        layoutView[i] = 
     LayoutInflater.from(this).inflate(R.layout.category_list_item, null);
        layoutView[i].setId(i);

        View parent = layoutView[i].findViewById(i);
        TextView tvTime = (TextView) 
   parent.findViewById(R.id.tv_arrival_time);
        tvTime.setText("" + i);

        ll_placeHolder.setGravity(Gravity.CENTER);
        ll_placeHolder.addView(layoutView[i]);
    }

   }
}
公共类ScrollTest扩展活动{
水平滚动查看hsv_类别_列表;
线性布局ll_占位符;
视图布局视图[];
@凌驾
创建时受保护的void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.scroll\u测试);
hsv_类别_列表=(水平滚动视图)
findViewById(R.id.hsv\U类别列表);
ll_占位符=(LinearLayout)findViewById(R.id.ll_占位符);
layoutView=新视图[2];
对于(int i=0;i<2;i++){
布局视图[i]=
LayoutFlater.from(this).充气(R.layout.category\u list\u项,空);
layoutView[i].setId(i);
视图父对象=布局视图[i]。findViewById(i);
TextView tvTime=(TextView)
父项findviewbyd(R.id.tv\u到达时间);
tvTime.setText(“+i”);
ll_占位符。设置重力(重心);
ll_占位符.addView(layoutView[i]);
}
}
}

我需要从中心开始设置充气布局。
请帮我解决这个问题。谢谢。

在xml文件中将布局重心设置为水平居中,如下所示

<LinearLayout
android:id="@+id/ll_placeHolder"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:gravity="center_horizontal"
android:layout_gravity="center"
android:orientation="horizontal">
</LinearLayout>

在xml文件中将布局重心设置为水平中心,如下所示

<LinearLayout
android:id="@+id/ll_placeHolder"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:gravity="center_horizontal"
android:layout_gravity="center"
android:orientation="horizontal">
</LinearLayout>