java - 将android按钮与屏幕中心对齐
问题描述
我想知道是否有机会将播放按钮与屏幕中心的屏幕截图对齐。不幸的是,我只成功地使用了我希望删除的空白。应要求将整个代码示例附加到问题中。现在,这说明了该区域,其中两个块必须通过约束布局分开,中间有一个必需的按钮
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ROOT"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<RelativeLayout
android:background="#f5907c"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:orientation="vertical"
android:clickable="true"
android:focusable="true">
<View
android:id="@+id/dummyViewTop"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<TextView
android:id="@+id/top_clock"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="false"
android:gravity="center"
android:rotation="180"
android:text="@string/DEFAULT_CLOCK_VALUE"
android:textSize="90sp"
android:textColor="@color/white"
android:textStyle="bold"
/>
</RelativeLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ImageButton
android:id="@+id/CONTROL_BUTTON_RESET"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@android:color/transparent"
android:scaleType="center"
android:src="@drawable/ic_baseline_reset_24"
android:contentDescription="@string/reset_button_desc"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
<RelativeLayout
android:background="#2e3a52"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.5"
android:orientation="vertical">
<View
android:id="@+id/dummyViewBottom"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<TextView
android:id="@+id/bottom_clock"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="@string/DEFAULT_CLOCK_VALUE"
android:textSize="90sp"
android:textColor="@color/white"
android:textStyle="bold"
/>
</RelativeLayout>
</LinearLayout>
解决方案
尝试这个
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/CONTROL_BUTTON_RESET"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_baseline_reset_24"
android:scaleType="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
这应该使您的按钮在屏幕中间居中,前提是您的 ConstraintLayout 占据了整个屏幕。
另外,不要使用ImageButton
,使用 anImageView
并对其应用点击侦听器。
推荐阅读
- xslt - XSLT 2.0:如果仅由标点分隔,则合并兄弟节点
- qr-code - 用于 QR 码的 Reed Solomon 纠错
- playframework-2.6 - 是否已弃用 Action 对象?它的替代品是什么
- c++ - 在主窗口中将 QVBoxLayout 设置为全尺寸,没有间距或边框
- autohotkey - 这个变量没有被赋值(一个全局变量)
- arrays - vlookup 和绝对引用以及 lastrow VBA 的问题
- kubernetes - 卷工作时日志中的“FindExpandablePluginBySpec err:没有卷插件匹配”消息
- angular - 将全局 NavigationExtras 添加到路由器的每个导航操作
- python - Peewee (Python Sqlite ORM) - NameError: name 'SqliteDatabase' is not defined
- ios - AVAudioSession 采样率 < 48Khz?