我有一个Switch,女巫在布局的左边对齐, 我想将TextView对齐到它的右边和它的高度的中间。 我已经做了两个示例图片来更清楚地解释它。
这就是我所拥有的(其中A是Switch,b是TextView):
这就是我想要实现的目标:
我的交换机布局代码是:
func validatePosition(position:SCNVector3, forNode node:SCNNode) -> SCNVector3 {
var newPosition = position
var maxVector = SCNVector3Zero
var minVector = SCNVector3Zero
let success = self.actionDelegate?.getBoundingBox(&minVector, max: &maxVector)
guard success == true else {
return newPosition
}
if newPosition.x < minVector.x && newPosition.x < 0 {
newPosition.x = minVector.x
}
if newPosition.y < minVector.y && newPosition.y < 0 {
newPosition.y = minVector.y
}
if newPosition.z < minVector.z && newPosition.z < 0 {
newPosition.z = minVector.z
}
if newPosition.x > maxVector.x && newPosition.x > 0 {
newPosition.x = maxVector.x
}
if newPosition.y > maxVector.y && newPosition.y > 0 {
newPosition.y = maxVector.y
}
if newPosition.z > maxVector.z && newPosition.z > 0 {
newPosition.z = maxVector.z
}
return newPosition
}
我的TextView布局代码是:
<Switch
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CIR"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:checked="true"
android:gravity="center"
android:id="@+id/newProject_switch"
android:layout_below="@+id/newProject_networkId"
android:layout_marginTop="10dp"
android:layout_alignParentLeft="true"
/>
答案 0 :(得分:2)
使用这种方式。
删除您在Margin
中设置的额外Switch
并使用android:gravity="center_vertical
。并将TextView
设置为android:gravity="center_vertical|right"
,使其位于右侧并垂直居中。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Switch
android:id="@+id/newProject_switch"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:checked="true"
android:gravity="center_vertical"
android:text="CIR" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_alignBottom="@+id/newProject_switch"
android:layout_toRightOf="@+id/newProject_switch"
android:gravity="center_vertical|right"
android:text="Best Effort"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="15dp" />
</LinearLayout>
答案 1 :(得分:1)
将此行添加到您的textview
android:layout_centerVertical="true"
答案 2 :(得分:0)