我有以下问题:我实现了一个HorizontalScrollView包含一个案例a LinearLayout和一个ImageView.在这种情况下,图像大约是屏幕宽度的50%.所以我想把它集中在一起.不幸的是,我找到它的唯一方法是,使用layout_gravity="center"它LinearLayout.
这是我的xml:
<HorizontalScrollView
android:layout_gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/myImg"
android:layout_width="wrap_content"
android:adjustViewBounds="true"
android:layout_height="150dp"/>
</LinearLayout>
</HorizontalScrollView>
Run Code Online (Sandbox Code Playgroud)
但我需要以layout_gravity编程方式设置.有没有人知道如何实现这一目标或知道不同的方式?我通过Google发现的所有内容都不适用于我这样的帖子.
谢谢!
我尝试通过Java代码设置我ImageButton的layout_gravity,我想要ImageButton的方式就像下面图像中橙色框架内的方式一样:

在蓝框是垂直LinearLayout充当"基地"布局,这是我想孩子布局添加到布局.
将橙色和红色都是水平LinearLayout.
该橙色布局是我想要把路ImageButton和TextView,这一次是通过XML建立
该红的布局是我试图模仿结果橙色通过Java代码布局.
这是设置Orange布局的XML代码,这是我想通过Java代码实现的效果:
<!-- Begin the Orange Layout -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/info_left_padding"
android:layout_marginRight="@dimen/info_right_padding" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:minHeight="@dimen/detail_min_line_item_height"
android:text="TextView" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:adjustViewBounds="true"
android:maxHeight="@dimen/abs__action_bar_default_height"
android:scaleType="fitCenter"
android:src="@drawable/navigation_cancel" />
</FrameLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这是设置Red布局的Java代码
int …Run Code Online (Sandbox Code Playgroud) 我冒着写一个重复的问题的风险,但当我正在研究另一个SO问题的答案时,我意识到我找不到一个简单的问题和答案,其中包括设置一个重力和layout_gravity LinearLayout.另外,在谈论一个ViewGroup而不仅仅是一个观点时,我对它们之间的区别感到困惑.我在回答下面的问题.
以下是我查看的其他一些问题:
我希望 BottomNavigationBar 上的菜单项具有没有图标的纯文本标签。不幸的是,design_bottom_navigation_item.xml看起来总是为图标保留一个 24x24dp 的空间,没有公开的方法可以将其设置为消失。甚至在通过它之后,标签布局也被设置为底部|中心_水平的 layout_gravity,并且看起来没有办法以编程方式将 layout_gravity 设置为居中。
在底部导航栏上实现纯文本菜单项目标的最快、最简单的方法是什么?我想我可以通过创建项目布局的自定义版本来做到这一点,然后子类化 BottomNavigationItemView、BottomNavigationMenuView 和 BottomNavigationView 以指定该自定义布局……但这对于一个小小的改变来说似乎是一项艰巨的工作。我错过了更简单的东西吗?
我在这个布局上遇到了问题:(
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cuerpo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical" >
...
Run Code Online (Sandbox Code Playgroud)
在java代码中
LinearLayout cuerpo = (LinearLayout) findViewById(R.id.cuerpo);
if(align){
cuerpo.setGravity(Gravity.CENTER_VERTICAL);
}else{
cuerpo.setGravity(Gravity.NO_GRAVITY);
}
Run Code Online (Sandbox Code Playgroud)
我需要layout_gravity没有引力.