androidx.constraintlayout.widget.constraintlayout:ProgressBar不显示在MaterialButton上方
Android Studio 3.2.1 在我的build.gradle中:androidx.constraintlayout.widget.constraintlayout:ProgressBar不显示在MaterialButton上方,android,android-constraintlayout,Android,Android Constraintlayout,Android Studio 3.2.1 在我的build.gradle中: android { dataBinding { enabled = true } compileSdkVersion 28 defaultConfig { minSdkVersion 18 targetSdkVersion 28 versionCode 6 versionName "0.0.6"
android {
dataBinding {
enabled = true
}
compileSdkVersion 28
defaultConfig {
minSdkVersion 18
targetSdkVersion 28
versionCode 6
versionName "0.0.6"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
我的xml布局:
<?xml version="1.0" encoding="utf-8"?>
<layout 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">
<data>
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:id="@+id/jsonViewToolBar"
layout="@layout/tool_bar"
android:title='@{@string/add_trader}'
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/baseTextView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="@dimen/default_margin"
android:layout_marginEnd="8dp"
android:text="@string/base"
android:textSize="13sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/jsonViewToolBar" />
<EditText
android:id="@+id/baseEditText"
style="@style/textViewOneLine"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="@+id/baseTextView"
app:layout_constraintStart_toStartOf="@+id/baseTextView"
app:layout_constraintTop_toBottomOf="@+id/baseTextView" />
<TextView
android:id="@+id/quoteTextView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/default_margin"
android:text="@string/quote"
android:textSize="13sp"
app:layout_constraintEnd_toEndOf="@+id/baseTextView"
app:layout_constraintStart_toStartOf="@+id/baseTextView"
app:layout_constraintTop_toBottomOf="@+id/baseEditText" />
<EditText
android:id="@+id/quoteEditText"
style="@style/textViewOneLine"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="@+id/baseTextView"
app:layout_constraintStart_toStartOf="@+id/baseTextView"
app:layout_constraintTop_toBottomOf="@+id/quoteTextView" />
<com.google.android.material.button.MaterialButton
android:id="@+id/startButton"
android:layout_width="0dp"
android:layout_height="@dimen/min_height"
android:layout_marginTop="@dimen/default_margin"
android:layout_marginBottom="@dimen/default_margin"
android:gravity="center"
android:textAllCaps="true"
android:textSize="13sp"
app:layout_constraintEnd_toEndOf="@+id/baseTextView"
app:layout_constraintStart_toStartOf="@+id/baseTextView"
app:layout_constraintTop_toBottomOf="@+id/quoteEditText" />
<include
layout="@layout/progress_bar_layout"
android:visibility="gone" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
为什么ProgressBar
位于材质按钮下?要制作按钮,不相关按钮,您可以添加样式属性,如下所示:-
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
要创建“未提升”按钮,可以按如下方式添加“样式”属性:-
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
您将进度条的高程设置为10dp
,这是正确的答案,但是,由于进度条嵌入到ConstraintLayout
中,并且ConstraintLayout
包含在另一个布局中,因此需要高程的是ConstraintLayout
只需将android:elevation=“10dp”
从ProgressBar
移动到其封闭的ConstraintLayout
即可将进度条的高程设置为10dp
,这是正确的答案,但是,由于进度条嵌入在ConstraintLayout
中,并且ConstraintLayout
包含在另一个布局中,因此需要提升的是ConstraintLayout
只需将android:elevation=“10dp”
从ProgressBar
移动到其封闭的ConstraintLayout
您是否尝试在ProgressBar
上设置element属性?元素包含布局=“@layout/progress\bar\u layout.”下缺少布局约束ProgressBar的“android:elevation=“10dp”。这没有帮助。@jackycflau你是什么意思?所包含布局的约束缺失,@jackycflau正试图指出这一点。这可能会导致进度条错位。你是否尝试在进度条上设置仰角属性?元素包含布局下缺少布局约束=“@layout/progress\u bar\u layout”…
@FonzTech我对ProgressBar使用“android:elevation=“10dp”。这没有帮助。@jackycflau你是什么意思?包含的布局缺少约束,@jackycflau正试图指出这一点。这可能会导致进度条放错位置。Android 5.0呢?“android:elevation”仅来自API>=21@Alexei在这种情况下,请确保在“材质”按钮之后包含带有进度条的布局。视图是按其在布局中的外观顺序绘制的(通常),因此将绘制按钮,然后在其顶部绘制进度条。@Alexei如果从按钮中删除标高,您将错过按钮的一个“材质”方面。Android 5.0呢?“android:elevation”仅来自API>=21@Alexei在这种情况下,请确保在“材质”按钮之后包含带有进度条的布局。视图是按其在布局中的外观顺序绘制的(通常),因此将绘制按钮,然后在其顶部绘制进度条。@Alexei如果从按钮中删除立面,则将错过按钮的“材质”方面。