材质按钮未填满屏幕的整个宽度
Material Button not filling whole width of screen
我对整个应用程序开发都很陌生,我只是想学习基础知识。特别是 XML 我只有很少的经验。
我的问题是,我想添加一个按钮,它会扩展到屏幕的整个宽度,但它不会工作,并且会在它周围留下某种边距。我已经尝试了很多,但找不到任何解决方案,或者我只是不知道要搜索什么。我在 android:insets 属性中找到的一个提示没有用,除了顶部和底部插图。
这是我的组件树:
这是 XML:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_2"
tools:context=".ApplicationActivity">
<com.google.android.material.button.MaterialButton
android:id="@+id/backBtn"
android:layout_width="450dp"
android:layout_height="59dp"
android:background="@drawable/back_btn_bg"
android:fontFamily="@font/montserrat_thin"
android:insetLeft="0dp"
android:insetTop="0dp"
android:insetRight="0dp"
android:insetBottom="0dp"
android:text="@string/back_btn"
app:backgroundTint="#470000"
app:cornerRadius="0dp"
app:fontFamily="@font/montserrat_thin"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
我希望我包含了所有需要的信息。
提前谢谢你:)
只需将 layout_width
更改为 0dp
,这样它就可以在约束之间占用全部可用的 space。
android:layout_width="0dp"
我还删除了 insetRight
和 insetLeft
标签。这是更新后的 XML
<com.google.android.material.button.MaterialButton
android:id="@+id/backBtn"
android:layout_width="0dp"
android:layout_height="59dp"
android:text="Back"
android:insetTop="0dp"
android:insetBottom="0dp"
app:backgroundTint="#470000"
app:cornerRadius="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
试试这个 XML 代码
<com.google.android.material.button.MaterialButton
android:id="@+id/backBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/back_btn_bg"
android:fontFamily="@font/montserrat_thin"
android:text="@string/back_btn"
app:backgroundTint="#470000"
app:cornerRadius="0dp"
app:fontFamily="@font/montserrat_thin"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
我对整个应用程序开发都很陌生,我只是想学习基础知识。特别是 XML 我只有很少的经验。 我的问题是,我想添加一个按钮,它会扩展到屏幕的整个宽度,但它不会工作,并且会在它周围留下某种边距。我已经尝试了很多,但找不到任何解决方案,或者我只是不知道要搜索什么。我在 android:insets 属性中找到的一个提示没有用,除了顶部和底部插图。
这是我的组件树:
这是 XML:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_2"
tools:context=".ApplicationActivity">
<com.google.android.material.button.MaterialButton
android:id="@+id/backBtn"
android:layout_width="450dp"
android:layout_height="59dp"
android:background="@drawable/back_btn_bg"
android:fontFamily="@font/montserrat_thin"
android:insetLeft="0dp"
android:insetTop="0dp"
android:insetRight="0dp"
android:insetBottom="0dp"
android:text="@string/back_btn"
app:backgroundTint="#470000"
app:cornerRadius="0dp"
app:fontFamily="@font/montserrat_thin"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
我希望我包含了所有需要的信息。 提前谢谢你:)
只需将 layout_width
更改为 0dp
,这样它就可以在约束之间占用全部可用的 space。
android:layout_width="0dp"
我还删除了 insetRight
和 insetLeft
标签。这是更新后的 XML
<com.google.android.material.button.MaterialButton
android:id="@+id/backBtn"
android:layout_width="0dp"
android:layout_height="59dp"
android:text="Back"
android:insetTop="0dp"
android:insetBottom="0dp"
app:backgroundTint="#470000"
app:cornerRadius="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
试试这个 XML 代码
<com.google.android.material.button.MaterialButton
android:id="@+id/backBtn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/back_btn_bg"
android:fontFamily="@font/montserrat_thin"
android:text="@string/back_btn"
app:backgroundTint="#470000"
app:cornerRadius="0dp"
app:fontFamily="@font/montserrat_thin"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />