我知道这是一个被问了很多的问题,但到目前为止提供的答案都没有帮助我解决我的问题。最好用图片描述。遗憾的是,我没有足够的声誉将它们嵌入到这里,但这里有三个屏幕尺寸显示我的问题:http://imgur.com/a/D5uAu
我正在寻找一种让“Retrumpets”ImageButton和TextView适合所有屏幕尺寸的方法。现在,他们目前使用layout_centerHorizontal在retrumpetTextView上居中,并将retrumpetButton附加到TextView的左侧,使用layout_toLeftOf,如下所示:
<ImageButton
android:layout_width="35dp"
android:layout_height="30dp"
android:id="@+id/retrumpetButton"
android:src="@drawable/retrumpet"
android:scaleType="centerInside"
android:adjustViewBounds="true"
android:background="#00FFFFFF"
android:layout_above="@+id/detailedTrumpetSeparationLine"
android:layout_toLeftOf="@+id/retrumpetCountTextView"/>
<TextView
tools:text="30 Retrumpets"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:id="@+id/retrumpetCountTextView"
android:textColor="#FFFFFF"
android:paddingBottom="6dp"
android:paddingLeft="2dp"
android:textSize="14sp"
android:layout_centerHorizontal="true"
android:layout_below="@+id/trumpetTextView"/>
如果不是因为我真正想要集中的是两个视图中的两个视图的组合,这样就可以完美地工作,这样一个视图或另一个视图就不会向左或向右移动。
我的问题是:这样做的最佳方法是什么?我可以以某种方式提供一个调整值来将这两个视图向右移一点吗?当视图居中时,layout_marginStart和layout_marginLeft似乎不起作用。
非常感谢!
编辑:非常感谢!将两者组合成一个水平居中的LinearLayout完美地完成了这项工作。答案 0 :(得分:0)
您应该将所有这些组件,即“Retrumpets”ImageButton和TextView全部放在1个布局中。 LinearLayout中。然后你可以把layour gravity放到这个LinearLayout中心。
答案 1 :(得分:0)
您可以使用LinearLayout来包含它们。
<LinearLayout
android:layout_centerHorizontal="true"
android:layout_below="@+id/trumpetTextView"
android:orientation = "horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageButton
android:layout_width="35dp"
android:layout_height="30dp"
android:id="@+id/retrumpetButton"
android:src="@drawable/retrumpet"
android:scaleType="centerInside"
android:adjustViewBounds="true"
android:background="#00FFFFFF"
android:layout_above="@+id/detailedTrumpetSeparationLine"
android:layout_toLeftOf="@+id/retrumpetCountTextView"/>
<TextView
tools:text="30 Retrumpets"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:id="@+id/retrumpetCountTextView"
android:textColor="#FFFFFF"
android:paddingBottom="6dp"
android:paddingLeft="2dp"
android:textSize="14sp"
/>
</LinearLayout>
或者只使用drawableLeft
<TextView
tools:text="30 Retrumpets"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:id="@+id/retrumpetCountTextView"
android:textColor="#FFFFFF"
android:paddingBottom="6dp"
android:paddingLeft="2dp"
android:textSize="14sp"
android:drawableLeft="@drawable/retrumpet"
android:layout_centerHorizontal="true"
android:layout_below="@+id/trumpetTextView"/>
答案 2 :(得分:0)
您可能需要考虑将ImageButton
和TextViews
置于水平线性布局中,并使用权重来正确调整它们。尝试将每个layout_weight
的{{1}}设置为0,将ImageButton
设置为1。