Как выровнять точки зрения в середине другой точки зрения?

Как вы выравниваете представления относительно "средней" части другого представления?

Я думаю, что это лучше всего объясняется графикой пользовательского интерфейса, который я пытаюсь создать в Android.

alt text

Ответ 1

Я использовал следующий код, но он все еще имеет некоторые недостатки: вы должны изменить значение:

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

Ответ 2

@pengwang и к которым он может относиться

базовая линия относится к строке на основе любого вида, кнопок, изображений или любых элементов управления. когда вы используете базовое свойство, вы указываете какой-либо идентификатор, из которого вы хотите ссылаться, или в том месте, где вы хотите, чтобы ваша кнопка или какая-либо. при переключении на графическое представление он покажет, как он ссылается на базовую линию, для которой вы определили

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

Ответ 3

сделайте что-нибудь подобное

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

Ответ 4

Для размещения центра просмотра вашего родительского представления вам просто нужно указать это свойство Android: гравитация = "центр"