想象一下,我有一个顶部栏,它有一个父容器。
(由于图像尺寸不同,我给每个图像一个宽度相同的父图像。这是为了简化文本居中,同时能够正确跟踪图像点击。如果没有必要跟踪点击,我可以确保图像大小相同,透明度相同。)
我试图使用以下布局解决上面但水平查看,结果是:
因此完全失败。这是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>
答案 0 :(得分:1)
检查以下代码
<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而不是Image ...
上点击事件答案 1 :(得分:1)
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>
答案 2 :(得分:1)
使用RelativeLayout而不是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_alignParentLeft="true"
。与layout_android:alignParentRight="true"
的右图相同。
并且还为视图添加了一些边距,这样它们就不会相互粘连。