我认为标题非常明确我的问题......所以这是我的布局:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/button_action"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Login" />
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
在android SDKs <21上没问题,ProgressBar正确地显示在Button上并且在Button中居中.但是在Android 5.0上,ProgressBar显示在 Button 后面.
因此,当您在"开发者选项"设置中激活"显示布局边界"选项时,您可以看到它已正确定位,但如果没有该选项,您将无法在屏幕上看到任何内容.
有人知道如何解决这个问题吗?我想这是一个事海拔最近推出的,但我真的不知道该怎么照顾它.为了记录,我正在使用support.v7中最近发布的Theme.AppCompat样式.
编辑:
我还尝试以编程方式应用setElevation(0)和setTranslationY(0)按钮,但它没有改变任何东西.所以我想知道它是否必须处理高程.
先谢谢你们
马蒂厄
android android-progressbar android-button android-5.0-lollipop
我有我的登录活动的这种布局.我想覆盖progressBar,就像它可以使用FrameLayout.怎么用这个ConstraintLayout?
<layout>
<data>
<variable
name="vm"
type="com.app.android.login.vm" />
</data>
<ScrollView 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:fillViewport="true"
tools:context="com.app.android.login.LoginActivity"
tools:ignore="missingPrefix">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/default_view_margin_bottom_8dp">
<android.support.design.widget.TextInputLayout
android:id="@+id/til_login_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/default_view_margin_right_8dp"
android:layout_marginStart="@dimen/default_view_margin_left_8dp"
android:textColorHint="@color/colorSecondaryText"
app:hintTextAppearance="@style/AppTheme.InputLayoutStyle"
app:layout_constraintBottom_toTopOf="@+id/til_login_password"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/login_email"
android:imeOptions="actionNext"
android:singleLine="true"
android:text="@={vm.emailField}"
android:textColor="@color/colorPrimaryText" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/til_login_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/default_view_margin_right_8dp"
android:layout_marginStart="@dimen/default_view_margin_left_8dp"
android:textColorHint="@color/colorSecondaryText"
app:hintTextAppearance="@style/AppTheme.InputLayoutStyle"
app:layout_constraintBottom_toTopOf="@+id/btn_login_login"
app:layout_constraintTop_toBottomOf="@+id/til_login_email"
app:layout_constraintVertical_chainStyle="packed">
<android.support.design.widget.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/login_password"
android:imeOptions="actionDone"
android:inputType="textPassword"
android:singleLine="true"
android:text="@={vm.passwordField}"
android:textColor="@color/colorPrimaryText" />
</android.support.design.widget.TextInputLayout>
<Button
android:id="@+id/btn_login_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/default_view_margin_right_8dp"
android:layout_marginStart="@dimen/default_view_margin_left_8dp"
android:layout_marginTop="48dp"
android:onClick="@{vm::login}"
android:text="@string/login_btn_text"
android:textColor="@color/colorWhite" …Run Code Online (Sandbox Code Playgroud) 在lolipop之前的Android版本中,以下代码有效,图像位于按钮前面.但在android 5中,imageview被放在按钮后面.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button"
android:layout_width="210sp"
android:layout_height="210sp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@drawable/round_button"
android:drawablePadding="10dip"
android:gravity="center_vertical|center_horizontal" />
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:contentDescription="@string/torch"
android:src="?attr/imageview" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) 我正在使用 ConstraintLayout 来获取此结构。但是在最后一张图片中,加号图标 imageview 是半隐藏的。而且,在所有三个图像中,如果我设置图像,加号或十字符号的一部分会被隐藏。我尝试设置高度或tranlationZ,但它并没有为我工作。
请帮我解决这个问题。
这是我的代码片段。
<!-- Constraint Layout -->
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingEnd="@dimen/_16dp"
android:paddingStart="@dimen/_16dp"
android:paddingTop="@dimen/_16dp"
tools:ignore="ContentDescription">
<!-- Profile Pic -->
<ImageView
android:id="@+id/img_profilePic"
android:layout_width="@dimen/_80dp"
android:layout_height="@dimen/_80dp"
android:background="@color/bg_light_gray"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/img_profilePic_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/icon_cross"
app:layout_constraintBottom_toBottomOf="@+id/img_profilePic"
app:layout_constraintEnd_toEndOf="@+id/img_profilePic"
app:layout_constraintStart_toEndOf="@+id/img_profilePic"
app:layout_constraintTop_toBottomOf="@+id/img_profilePic" />
<!-- Gallery Pic 1 -->
<ImageView
android:id="@+id/img_galleryPic1"
android:layout_width="@dimen/_80dp"
android:layout_height="@dimen/_80dp"
android:background="@color/bg_light_gray"
app:layout_constraintEnd_toStartOf="@+id/img_galleryPic2"
app:layout_constraintStart_toEndOf="@+id/img_profilePic" />
<ImageView
android:id="@+id/img_galleryPic1_add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/icon_add_circle"
app:layout_constraintBottom_toBottomOf="@+id/img_galleryPic1"
app:layout_constraintEnd_toEndOf="@+id/img_galleryPic1"
app:layout_constraintStart_toEndOf="@+id/img_galleryPic1"
app:layout_constraintTop_toBottomOf="@+id/img_galleryPic1" />
<ImageView
android:id="@+id/img_galleryPic1_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/icon_cross"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/img_galleryPic1"
app:layout_constraintEnd_toEndOf="@+id/img_galleryPic1"
app:layout_constraintStart_toEndOf="@+id/img_galleryPic1"
app:layout_constraintTop_toBottomOf="@+id/img_galleryPic1" />
<!-- Gallery …Run Code Online (Sandbox Code Playgroud) android ×4