我有这个xml:
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.gelasoft.answeringball.MainActivity$PlaceholderFragment" >
<ImageView
android:id="@+id/sphereIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:src="@drawable/rsz_rsz_mystic"
android:contentDescription="@string/magicBallDescr"/>
<LinearLayout
android:id="@+id/table"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/launch_codes"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="@string/textHint"
android:inputType="text"
/>
</LinearLayout>
</RelativeLayout>
正如您所看到的,我在LinearLayout
内部加了一个RelativeLayout
,但我看到的远离我想要做的事情。
现在我的观点如下:
我有3个问题:
为什么LinearLayout
显示在球体图标上方?它被声明为RelativeLayout
如何将球体放置在线性布局视图上方?
如何将球体图标居中?我试过了
机器人:layout_centerVertical =&#34;真&#34; 机器人:layout_alignParentLeft =&#34;真&#34;
但它将图标放在视图的中心。我希望它集中在顶部。
我知道我在这里错过了一小部分,但作为xml初学者,我无法发现我的错误。
答案 0 :(得分:2)
您可以使用此字符串值和图像资源
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.gelasoft.answeringball.MainActivity$PlaceholderFragment" >
<ImageView
android:id="@+id/sphereIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:contentDescription="magicBallDescr"
android:src="@drawable/ic_launcher" />
<LinearLayout
android:id="@+id/table"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/sphereIcon"
android:orientation="horizontal" >
<EditText
android:id="@+id/launch_codes"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="textHint"
android:inputType="text" />
</LinearLayout>
</RelativeLayout>
答案 1 :(得分:1)
1.从ImageView`中删除这两行
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
现在您的完整代码
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.gelasoft.answeringball.MainActivity$PlaceholderFragment" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="horizontal" >
<ImageView
android:id="@+id/sphereIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription=" magicBallDescr"
android:src="@drawable/ic_launcher" />
</LinearLayout>
<LinearLayout
android:id="@+id/table"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/linearLayout1"
android:layout_alignLeft="@+id/linearLayout1"
android:layout_marginBottom="139dp"
android:orientation="horizontal" >
<EditText
android:id="@+id/launch_codes"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:hint="textHint"
android:inputType="text" />
</LinearLayout>
</RelativeLayout>
答案 2 :(得分:1)
ImageView
使用android:layout_alignParentTop="true"
对齐父级
使用android:layout_width="match_parent"
填充父级宽度
<ImageView
android:id="@+id/sphereIcon"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_logo"
android:contentDescription="@string/title_activity_settings"/>
LinearLayout
使用android:layout_below="@+id/sphereIcon"
在ImageView
<LinearLayout
android:id="@+id/table"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/sphereIcon"
android:orientation="horizontal" >