Android和两个大小不同的图像之间的中心文本
假设我有一个顶部栏,它有一个父容器Android和两个大小不同的图像之间的中心文本,android,android-layout,image-processing,Android,Android Layout,Image Processing,假设我有一个顶部栏,它有一个父容器 我想把文字放在它的中心 在左边我有一个小宽度的图像 在右边我有一个大宽度的图像 (由于图像大小的差异,我为每个图像指定了一个具有相同宽度的父图像。这是为了在能够正确跟踪图像(例如,单击图像)的同时简化文本居中。如果没有必要跟踪单击,我可以确保图像大小相同,并且具有透明度。) 我尝试使用以下布局解决上述问题,但从水平方向看,结果是: 左图像在其父图像中未正确向左对齐 文本紧跟在左侧,不在中间 右图紧跟在中间部分之后 因此完全失败了。以下是XML代码: &
- 我想把文字放在它的中心
- 在左边我有一个小宽度的图像
- 在右边我有一个大宽度的图像
- 左图像在其父图像中未正确向左对齐
- 文本紧跟在左侧,不在中间
- 右图紧跟在中间部分之后
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:id="@+id/myTitleLayout"
>
<LinearLayout
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_width="100dp"
android:gravity="left"
android:layout_gravity="left"
>
<ImageView android:id="@+id/myTitleLogoLeft"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:gravity="left"
android:layout_gravity="left"
/>
</LinearLayout>
<TextView
android:id="@+id/myTitleText"
android:text="@string/dotdotdot"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:layout_gravity="center"
/>
<LinearLayout
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_width="100dp"
android:gravity="right"
android:layout_gravity="right"
>
<ImageView android:id="@+id/myTitleLogoRight"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:gravity="right"
android:layout_gravity="right"
/>
</LinearLayout>
</LinearLayout>
检查下面的代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_parent"
android:orientation="horizontal"
android:id="@+id/myTitleLayout"
>
<LinearLayout
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_width="100dp"
android:layout_alignParentLeft="true"
>
<ImageView android:id="@+id/myTitleLogoLeft"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:gravity="left"
android:layout_gravity="left"
/>
</LinearLayout>
<TextView
android:id="@+id/myTitleText"
android:text="@string/dotdotdot"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
/>
<LinearLayout
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_width="100dp"
android:layout_alignParentRight="true"
>
<ImageView android:id="@+id/myTitleLogoRight"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:gravity="right"
android:layout_gravity="right"
/>
</LinearLayout>
</LinearLayout>
就是这样,还有一个建议是在LinearLayout上执行单击事件,而不是图像…检查下面的代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_parent"
android:orientation="horizontal"
android:id="@+id/myTitleLayout"
>
<LinearLayout
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_width="100dp"
android:layout_alignParentLeft="true"
>
<ImageView android:id="@+id/myTitleLogoLeft"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:gravity="left"
android:layout_gravity="left"
/>
</LinearLayout>
<TextView
android:id="@+id/myTitleText"
android:text="@string/dotdotdot"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
/>
<LinearLayout
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_width="100dp"
android:layout_alignParentRight="true"
>
<ImageView android:id="@+id/myTitleLogoRight"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:gravity="right"
android:layout_gravity="right"
/>
</LinearLayout>
</LinearLayout>
Try this way,hope this will help you to solve your problem.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/myTitleLayout"
android:gravity="center">
<ImageView
android:id="@+id/myTitleLogoLeft"
android:layout_width="100dp"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:adjustViewBounds="true"
android:padding="2dp"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<TextView
android:id="@+id/myTitleText"
android:text="@string/dotdotdot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<ImageView android:id="@+id/myTitleLogoRight"
android:layout_width="100dp"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:adjustViewBounds="true"
android:padding="2dp" />
</LinearLayout>
就是这样,还有一个建议是在LinearLayout上执行单击事件,而不是图像…检查下面的代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_parent"
android:orientation="horizontal"
android:id="@+id/myTitleLayout"
>
<LinearLayout
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_width="100dp"
android:layout_alignParentLeft="true"
>
<ImageView android:id="@+id/myTitleLogoLeft"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:gravity="left"
android:layout_gravity="left"
/>
</LinearLayout>
<TextView
android:id="@+id/myTitleText"
android:text="@string/dotdotdot"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
/>
<LinearLayout
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_width="100dp"
android:layout_alignParentRight="true"
>
<ImageView android:id="@+id/myTitleLogoRight"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:gravity="right"
android:layout_gravity="right"
/>
</LinearLayout>
</LinearLayout>
Try this way,hope this will help you to solve your problem.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/myTitleLayout"
android:gravity="center">
<ImageView
android:id="@+id/myTitleLogoLeft"
android:layout_width="100dp"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:adjustViewBounds="true"
android:padding="2dp"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<TextView
android:id="@+id/myTitleText"
android:text="@string/dotdotdot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<ImageView android:id="@+id/myTitleLogoRight"
android:layout_width="100dp"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:adjustViewBounds="true"
android:padding="2dp" />
</LinearLayout>
就是这样,还有一个建议是在LinearLayout上执行单击事件,而不是图像…检查下面的代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_parent"
android:orientation="horizontal"
android:id="@+id/myTitleLayout"
>
<LinearLayout
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_width="100dp"
android:layout_alignParentLeft="true"
>
<ImageView android:id="@+id/myTitleLogoLeft"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:gravity="left"
android:layout_gravity="left"
/>
</LinearLayout>
<TextView
android:id="@+id/myTitleText"
android:text="@string/dotdotdot"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
/>
<LinearLayout
android:layout_height="match_parent"
android:orientation="horizontal"
android:layout_width="100dp"
android:layout_alignParentRight="true"
>
<ImageView android:id="@+id/myTitleLogoRight"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:gravity="right"
android:layout_gravity="right"
/>
</LinearLayout>
</LinearLayout>
Try this way,hope this will help you to solve your problem.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/myTitleLayout"
android:gravity="center">
<ImageView
android:id="@+id/myTitleLogoLeft"
android:layout_width="100dp"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:adjustViewBounds="true"
android:padding="2dp"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<TextView
android:id="@+id/myTitleText"
android:text="@string/dotdotdot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<ImageView android:id="@+id/myTitleLogoRight"
android:layout_width="100dp"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:adjustViewBounds="true"
android:padding="2dp" />
</LinearLayout>
就是这样,还有一个建议是在LinearLayout上执行单击事件,而不是图像…尝试这种方式,希望这能帮助您解决问题。
Try this way,hope this will help you to solve your problem.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/myTitleLayout"
android:gravity="center">
<ImageView
android:id="@+id/myTitleLogoLeft"
android:layout_width="100dp"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:adjustViewBounds="true"
android:padding="2dp"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center">
<TextView
android:id="@+id/myTitleText"
android:text="@string/dotdotdot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<ImageView android:id="@+id/myTitleLogoRight"
android:layout_width="100dp"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:adjustViewBounds="true"
android:padding="2dp" />
</LinearLayout>
试试这种方法,希望这能帮助您解决问题。
试试这种方法,希望这能帮助您解决问题。
试试这种方法,希望这能帮助您解决问题。
使用相对布局而不是线性布局。它使大多数布局更容易
<?xml version="1.0" encoding="utf-8"?>
<RelateiveLaoyut xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/myTitleLayout">
<TextView
android:id="@+id/myTitleText"
android:text="@string/dotdotdot"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
/>
<ImageView android:id="@+id/myTitleLogoLeft"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:layout_toLeftOf="@id/myTitleText"
/>
<ImageView android:id="@+id/myTitleLogoRight"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:layout_toRightOf="@id/myTitleText"
/>
</RelateiveLaoyut >
如果左侧图像需要位于条形图的左侧,请向其添加android:layout\u alignParentLeft=“true”
。对于具有layout\u android:alignParentRight=“true”
的右侧图像,也是如此。
还可以在视图中添加一些边距,这样它们就不会相互粘连。使用相对线而不是线性布局。它使大多数布局更容易
<?xml version="1.0" encoding="utf-8"?>
<RelateiveLaoyut xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/myTitleLayout">
<TextView
android:id="@+id/myTitleText"
android:text="@string/dotdotdot"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
/>
<ImageView android:id="@+id/myTitleLogoLeft"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:layout_toLeftOf="@id/myTitleText"
/>
<ImageView android:id="@+id/myTitleLogoRight"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:layout_toRightOf="@id/myTitleText"
/>
</RelateiveLaoyut >
如果左侧图像需要位于条形图的左侧,请向其添加android:layout\u alignParentLeft=“true”
。对于具有layout\u android:alignParentRight=“true”
的右侧图像,也是如此。
还可以在视图中添加一些边距,这样它们就不会相互粘连。使用相对线而不是线性布局。它使大多数布局更容易
<?xml version="1.0" encoding="utf-8"?>
<RelateiveLaoyut xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/myTitleLayout">
<TextView
android:id="@+id/myTitleText"
android:text="@string/dotdotdot"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
/>
<ImageView android:id="@+id/myTitleLogoLeft"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:layout_toLeftOf="@id/myTitleText"
/>
<ImageView android:id="@+id/myTitleLogoRight"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:layout_toRightOf="@id/myTitleText"
/>
</RelateiveLaoyut >
如果左侧图像需要位于条形图的左侧,请向其添加android:layout\u alignParentLeft=“true”
。对于具有layout\u android:alignParentRight=“true”
的右侧图像,也是如此。
还可以在视图中添加一些边距,这样它们就不会相互粘连。使用相对线而不是线性布局。它使大多数布局更容易
<?xml version="1.0" encoding="utf-8"?>
<RelateiveLaoyut xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/myTitleLayout">
<TextView
android:id="@+id/myTitleText"
android:text="@string/dotdotdot"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
/>
<ImageView android:id="@+id/myTitleLogoLeft"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:layout_toLeftOf="@id/myTitleText"
/>
<ImageView android:id="@+id/myTitleLogoRight"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/shared__menu__transparent"
android:padding="2dp"
android:visibility="visible"
android:layout_toRightOf="@id/myTitleText"
/>
</RelateiveLaoyut >
如果左侧图像需要位于条形图的左侧,请向其添加android:layout\u alignParentLeft=“true”
。对于具有layout\u android:alignParentRight=“true”
的右侧图像,也是如此。
并在视图中添加一些边距,这样它们就不会相互粘连。这主要是除了左侧图像(在本例中,左侧图像的宽度较小,但由于图像是在线下载的,因此我无法事先知道尺寸)之外的其他图像才有效然后在100dp内居中,而不是与左侧对齐这主要起作用,但左侧图像除外(在本例中,左侧图像的宽度较小,但由于图像是在线下载的,我事先无法知道尺寸),然后在100dp内居中,而不是与左侧对齐这主要起作用,左侧图像除外(在本例中宽度较小,但由于图像是在线下载的,我无法事先知道尺寸)然后在100dp内居中,而不是与左侧对齐这主要起作用,但左侧图像除外(在本例中宽度较小,但由于图像是在线下载的,我无法事先知道尺寸)然后在100dp内居中,而不是与左侧对齐i使用此组合的wih运行时计算结果调整某些超透明图像的宽度i使用此组合的wih运行时计算结果调整某些超透明图像的宽度i使用此组合的wih运行时计算结果调整som的宽度超透明图像我最终使用了这个组合,运行时计算调整了一些超透明图像的宽度