如何移动与其图像背景相关的 CheckBox? (Android)
How can I move a CheckBox in relation to its image background? (Android)
我正在使用以下代码行为复选框设置背景图片:
checkBox.setBackgroundResource(R.drawable.myImage);
但是,复选框会自动定位到背景图像的左中部。我希望复选框位于背景图像的右下角。我怎样才能做到这一点?谢谢!
您可以使用它在页面右下角对齐您的CheckBox
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/myImage"
android:layout_width="match_parent"
android:layout_height="200dp" />
<CheckBox
android:text="CheckBox"
android:layout_gravity="right|bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/checkBox1" />
</FrameLayout>
如果您的父布局是相对的,请使用此代码:
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
checkbox.setLayoutParams(params);
就是这样:)
对于LinearLayout
它将是:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
params.gravity = Gravity.RIGHT | Gravity.BOTTOM;
checkbox.setLayoutParams(params);
更新
实际上要将它对齐到它自己的 space 你可以简单地做 checkbox.setGravity(Gravity.RIGHT | Gravity.BOTTOM);
重要提示
只有当您的 CheckBox
宽度和高度不是 wrap_content
时,您才可以这样做!另一种方式它不会移动到任何地方。所以你应该经常指定宽度和高度,例如 30dp
,但我不建议你这样做。
我正在使用以下代码行为复选框设置背景图片:
checkBox.setBackgroundResource(R.drawable.myImage);
但是,复选框会自动定位到背景图像的左中部。我希望复选框位于背景图像的右下角。我怎样才能做到这一点?谢谢!
您可以使用它在页面右下角对齐您的CheckBox
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/myImage"
android:layout_width="match_parent"
android:layout_height="200dp" />
<CheckBox
android:text="CheckBox"
android:layout_gravity="right|bottom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/checkBox1" />
</FrameLayout>
如果您的父布局是相对的,请使用此代码:
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
checkbox.setLayoutParams(params);
就是这样:)
对于LinearLayout
它将是:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
params.gravity = Gravity.RIGHT | Gravity.BOTTOM;
checkbox.setLayoutParams(params);
更新
实际上要将它对齐到它自己的 space 你可以简单地做 checkbox.setGravity(Gravity.RIGHT | Gravity.BOTTOM);
重要提示
只有当您的 CheckBox
宽度和高度不是 wrap_content
时,您才可以这样做!另一种方式它不会移动到任何地方。所以你应该经常指定宽度和高度,例如 30dp
,但我不建议你这样做。