如何在另一个视图基线的中间对齐视图?

时间:2010-06-16 08:07:41

标签: android views

如何将视图相对于另一个视图的“中间”部分对齐?

我认为最好用我试图在Android中创建的UI图片进行解释。

alt text

4 个答案:

答案 0 :(得分:2)

我使用了以下代码,但它仍然有一些缺点:你应该修改值:

 <?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>

答案 1 :(得分:1)

@pengwang及其可能关注的人

baseline指的是任何视图,按钮,图像视图或任何控件的基线。当您使用基线属性时,您将给出您想要引用的基数的任何ID,或者您想要按钮或任何地方的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>

答案 2 :(得分:0)

做这样的事情

    <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>

答案 3 :(得分:-1)

要放置父视图的视图中心,只需指定此属性即可 的机器人:比重= “中心”