我想在屏幕上看到这样的东西。
左侧有一个图标和一个标签,右侧有一个图标和一个标签。
目前我正在通过LinearLayout
进行此操作,但我不确定这会在大型显示器上表现如何,因为我正在硬编码两者之间的距离。在RelativeLayout
我可以使用alignParentLeft
和alignParentRight
。但是,我似乎无法像我的LinearLayout
那样在中心对齐TextView。
以下是我使用的LinearLayout
:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/myimg1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textSize="14dp"
android:gravity="center"
android:text="4 comments"
android:textStyle="bold"
android:layout_marginLeft="5dp"
android:layout_marginRight="160dp"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/myimg"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textSize="14dp"
android:gravity="center"
android:text="3 handlers"
android:textStyle="bold"
android:layout_marginLeft="5dp"
android:layout_marginRight="25dp"/>
</LinearLayout>
答案 0 :(得分:0)
通常,RelativeLayouts可以比LinearLayout更高效(特别是如果线性设置中需要很多其他嵌套布局)。
如果您的布局复杂,需要将一堆布局嵌套在一起,现在是时候考虑替代方案(比如相对)。
要将TextView设置为对齐中心,您是否尝试过:alignParentCenter?
android:layout_centerInParent="true"
http://developer.android.com/reference/android/widget/RelativeLayout.html#CENTER_IN_PARENT
答案 1 :(得分:0)
如果您希望它们居中,则执行相对布局。将第二张图像固定在中央,并在相对位置添加其他图像。
答案 2 :(得分:0)
以下是一个可行的示例:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/leftIcon"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/ic_search" />
<TextView
android:id="@+id/centerText"
android:layout_toRightOf="@+id/leftIcon"
android:layout_toLeftOf="@+id/imageRight"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="14dp"
android:gravity="center"
android:text="4 comments"
android:textStyle="bold"/>
<ImageView
android:id="@+id/imageRight"
android:layout_toLeftOf="@+id/textRight"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/ic_search" />
<TextView
android:layout_alignParentRight="true"
android:id="@+id/textRight"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:textSize="14dp"
android:gravity="center"
android:text="3 handlers"
android:textStyle="bold"
android:layout_marginLeft="5dp"
android:layout_marginRight="25dp" />
</RelativeLayout>
(我用我项目中的某些东西替换了图像)
这是我得到的预览:
答案 3 :(得分:0)
你可以尝试一下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="horizontal"
tools:context=".MainActivity" >
<LinearLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="#ff00ff"
android:gravity="center"
android:layout_marginTop="15dp"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14dp"
android:gravity="center"
android:text="4 comments"
android:textStyle="bold"/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:gravity="center"
android:background="#00ff00"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14dp"
android:gravity="center"
android:text="3 handlers"
android:textStyle="bold"/>
</LinearLayout>
</LinearLayout>