我在主布局中给布局(imageviewlayout)充气。我在父视图的底部得到子视图。如何将子视图对齐在Mainlayout的中心。我已经读过它可以完成使用Layoutparams。可以告诉你如何将子视图对齐在主布局的中心。
LinearLayout main = (LinearLayout)findViewById(R.id.sendlayout);
View childview = getLayoutInflater().inflate(R.layout.imageviewlayout, main,false);
main.addView(childview);
这是我的imageviewlayout(孩子):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/thumbnailImage"
android:layout_width="250px"
android:layout_height="250px"
android:layout_gravity="center_horizontal"
android:scaleType="fitCenter"
android:src="@drawable/camera" />
</LinearLayout>
答案 0 :(得分:1)
使用android:layout_gravity="center"
。
请参阅LayoutParams:
将对象放在其容器的中心垂直方向 和横轴,不改变它的大小。
PS:由于您在子视图中将ImageView
与容器包装在一起,我相信您应该在包装器中添加重力属性。这样“容器”就是你的main
,而不是子视图的包装器。
答案 1 :(得分:0)
我通过在main.xml中添加一个膨胀布局容器来解决这个问题
<LinearLayout
android:id="@+id/inflaterContainerLL"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical">
</LinearLayout>
并引用main.xml活动中的inflaterContainerLL
LinearLayout main = (LinearLayout)findViewById(R.id.inflaterContainerLL);
View vchild = getLayoutInflater().inflate(R.layout.imageViewlayout, main,false);
main.addView(vchild);