要将GridLayout
置于其xml文件中心,只需添加行
android:layout_centerHorizontal="true"
或
android:layout_centerVertical="true"
也可以用于其他布局。同样,例如,以RelativeLayout
程序化为中心很简单:给视图充气,创建一个新的RelativeLayout.LayoutParams
并让它调用
addRule(RelativeLayout.CENTER)
将其添加到视图之前。但与RelativeLayout不同,.addRule
的方法GridLayout.LayoutParams
未根据reference定义。该怎么做?
答案 0 :(得分:1)
corsair992的评论帮助我理解了这个问题:它是父容器,它的子视图居中,所以如果你的GridLayout
例如由RelativeLayout
包含,那么这个问题就可以了通过添加此代码来解决:
RelativeLayout.LayoutParams overviewParams =
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
RelativeLayout relatLayout = (RelativeLayout) rootView.findViewById(R.id.relatView); //change to the id of your RelativeLayout.
overviewParams.addRule(RelativeLayout.CENTER_HORIZONTAL); //or CENTER_VERTICAL, or CENTER_IN_PARENT, depending on what you want to do
gridLayout.setLayoutParams(overviewParams); //gridLayout being your GridLayout
这假设父RelativeLayout
只包含一个子视图。
答案 1 :(得分:-3)
嗨,我认为这会做你想做的事:
yourLayout.setAlignmentMode(GridLayout.CENTER)