如何在另一个视图基线中间对齐视图?
Posted
技术标签:
【中文标题】如何在另一个视图基线中间对齐视图?【英文标题】:How to align views in the middle of another views baseline? 【发布时间】:2010-06-16 08:07:41 【问题描述】:如何相对于另一个视图的“中间”部分对齐视图?
我认为最好用我尝试在 android 中创建的 UI 的图片来解释。
【问题讨论】:
【参考方案1】:我使用了下面的代码,但它仍然有一些缺点:你应该修改值:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget"
android:layout_
android:layout_
android:layout_gravity="center_horizontal|center_vertical"
>
<EditText
android:id="@+id/bullet"
android:layout_
android:layout_
android:paddingRight="4dip"
android:includeFontPadding="false"
android:lines="4"
android:text="hidhidihfidhfdifhdifhdifhidhfidf" />
<ImageView
android:id="@+id/icon"
android:layout_
android:layout_
android:background="#ffff00"
android:src="@drawable/icon"
android:layout_alignTop="@id/bullet"
android:layout_marginLeft="50dip" />
<ImageView
android:id="@+id/icon1"
android:layout_
android:layout_
android:background="#ff00ff"
android:layout_alignBottom="@id/bullet"
android:layout_marginLeft="100dip"
android:src="@drawable/star_logo" />
</RelativeLayout>
【讨论】:
【参考方案2】:@pengwang 以及它可能关注的对象
基线是指任何视图、按钮、图像视图或任何控件的底部线。当您使用基线属性时,您将给出您想要引用的基础的任何 id,或者那是您想要按钮或任何位置的位置。当您切换到图形视图时,它将显示它如何处理您定义的基线
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical" >
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_
android:layout_ >
<ImageButton
android:id="@+id/iB"
android:layout_
android:layout_
android:src="@drawable/ic_launcher"
android:layout_alignParentBottom="true" />
<Button
android:id="@+id/button1"
android:layout_
android:layout_
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_
android:layout_
android:hint="Search Events, Restaurants, Businesses"
android:singleLine="true"
android:textSize="15dip" />
<Button
android:id="@+id/searchbtn"
android:layout_
android:layout_
android:layout_marginLeft="-50dip"
android:background="@drawable/ic_menu_search" />
<Button
android:id="@+id/searchbtn2"
android:layout_
android:layout_
android:layout_marginLeft="-30dip"
android:background="@drawable/ic_menu_search" />
</LinearLayout>
【讨论】:
【参考方案4】:要放置父视图的视图中心,您只需指定此属性 android:gravity="center"
【讨论】:
以上是关于如何在另一个视图基线中间对齐视图?的主要内容,如果未能解决你的问题,请参考以下文章