我认为标题是很明确的我的问题…所以这里是我的布局:
<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>
在Android SDKs< 21,没问题,ProgressBar正确地显示在Button上并以Button为中心.但是在Android 5.0中,ProgressBar显示在Button后面. 因此,当您在“开发人员选项”设置中激活“显示布局边界”选项时,您可以看到它的位置正确,但如果没有该选项,则无法在屏幕上看到任何内容. 有人会知道如何解决这个问题吗?我想这是最近出现的高度问题,但我真的不知道如何照顾它.
为了纪录,我正在使用最近发布的Theme.AppCompat样式从support.v7.
编辑:
我也尝试以编程方式将setElevation(0)和setTranslationY(0)应用于Button,但是并没有改变任何东西.所以我想知道是否要处理海拔.
先谢谢你们
马蒂厄
解决方法
您可以在ProgressBar中使用android:translationZ属性:
<ProgressBar android:id="@+id/progress_bar" android:layout_width="50dp" android:layout_height="50dp" android:translationZ="2dp" android:layout_centerInParent="true"/>