【发布时间】:2010-06-16 08:07:41
【问题描述】:
如何相对于另一个视图的“中间”部分对齐视图?
我认为最好用我尝试在 android 中创建的 UI 的图片来解释。
【问题讨论】:
如何相对于另一个视图的“中间”部分对齐视图?
我认为最好用我尝试在 android 中创建的 UI 的图片来解释。
【问题讨论】:
我使用了下面的代码,但它仍然有一些缺点:你应该修改值:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
>
<EditText
android:id="@+id/bullet"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingRight="4dip"
android:includeFontPadding="false"
android:lines="4"
android:text="hidhidihfidhfdifhdifhdifhidhfidf" />
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ffff00"
android:src="@drawable/icon"
android:layout_alignTop="@id/bullet"
android:layout_marginLeft="50dip" />
<ImageView
android:id="@+id/icon1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ff00ff"
android:layout_alignBottom="@id/bullet"
android:layout_marginLeft="100dip"
android:src="@drawable/star_logo" />
</RelativeLayout>
【讨论】:
@pengwang 以及它可能关注的对象
基线是指任何视图、按钮、图像视图或任何控件的底部线。当您使用基线属性时,您将给出您想要引用的基础的任何 id,或者那是您想要按钮或任何位置的位置。当您切换到图形视图时,它将显示它如何处理您定义的基线
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageButton
android:id="@+id/iB"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:layout_alignParentBottom="true" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@id/iB"
android:layout_alignBaseline="@id/relativeLayout1" />
</RelativeLayout>
</LinearLayout>
【讨论】:
做这样的事情
<EditText
android:id="@+id/searchedittext"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:hint="Search Events, Restaurants, Businesses"
android:singleLine="true"
android:textSize="15dip" />
<Button
android:id="@+id/searchbtn"
android:layout_width="40dip"
android:layout_height="40dip"
android:layout_marginLeft="-50dip"
android:background="@drawable/ic_menu_search" />
<Button
android:id="@+id/searchbtn2"
android:layout_width="40dip"
android:layout_height="40dip"
android:layout_marginLeft="-30dip"
android:background="@drawable/ic_menu_search" />
</LinearLayout>
【讨论】:
要放置父视图的视图中心,您只需指定此属性 android:gravity="center"
【讨论】: