我有几个观点,我试图在彼此中心,但在视图顶部的相同位置。 pw_futuretabata是一个进度轮,我希望它与屏幕宽度一样大,并与屏幕顶部对齐。在进度轮内,我有一个较小的版本,pw_spinner,我将在最初展示。我想在pw_spinner中放置一个图像playButton。我创建了一个名为horizontalCenterLine的视图来查找此包含视图中的中心位置,并尝试将playButton放置在水平中心的正上方。
如果我对根视图中的所有内容执行此操作,一切都很好,但因为我需要将这组控件对齐到屏幕顶部,所以我将它们放在自己的RelativeLayout中并定位相对布局以对齐到父母的顶部。
所以现在我的问题是,playButton,因为它不会显示我期望的位置。相反,按钮的底部与屏幕顶部对齐,因此只能看到按钮的底部像素。我不明白为什么。如果我将按钮更改为以
为中心android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
它工作正常,并以pw_spinner为中心,但使用
android:layout_alignBottom="@id/horizontalCenterLine"
android:layout_centerHorizontal="true"
没有给我我正在寻找的东西。有什么想法吗?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ProgressWheel="http://schemas.android.com/apk/res-auto"
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
<RelativeLayout
android:id="@+id/internalLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" >
<com.todddavies.components.ProgressWheel
android:id="@+id/pw_futuretabata"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
ProgressWheel:barColor="#FCEC5A"
ProgressWheel:barLength="60dp"
ProgressWheel:barWidth="10dp"
ProgressWheel:delayMillis="75"
ProgressWheel:rimColor="#343434"
ProgressWheel:rimWidth="10dp"
ProgressWheel:spinSpeed="30dp"
ProgressWheel:textColor="#FCEC5A"
ProgressWheel:textSize="60sp"
android:visibility="invisible" />
<com.todddavies.components.ProgressWheel
android:id="@+id/pw_spinner"
android:layout_width="165dp"
android:layout_height="165dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
ProgressWheel:barColor="#FCEC5A"
ProgressWheel:barLength="60dp"
ProgressWheel:barWidth="5dp"
ProgressWheel:delayMillis="75"
ProgressWheel:rimColor="#343434"
ProgressWheel:rimWidth="5dp"
ProgressWheel:spinSpeed="30dp"
ProgressWheel:textColor="#FCEC5A"
ProgressWheel:textSize="60sp" />
<View
android:id="@+id/horizontalCenterLine"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@android:color/darker_gray"
android:visibility="invisible" />
<ImageButton
android:id="@+id/playButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/horizontalCenterLine"
android:layout_centerHorizontal="true"
android:background="@android:color/transparent"
android:contentDescription="@string/playButtonLabel"
android:src="@drawable/shape_play" />
</RelativeLayout>
<ImageView
android:id="@+id/myIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:contentDescription="@string/app_icon_description"
android:src="@drawable/pp_logo" />
</RelativeLayout>
答案 0 :(得分:0)
编辑 -
这可能是因为它是不可见的。尝试将背景的alpha设置为0.
android:background="#00000000"
也删除了
android:visibility="invisible"