Android - 我如何将文本与中心对齐,左侧的texviews以及 - 将与图像视图的中心和右侧文本视图“本地时间”对齐,为什么它们位于顶部?
感谢Stackoverflow
Heres a pic of my layout , can see the difference ?
<LinearLayout
android:id="@+id/LinearLayout_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:weightSum="3.0" >
<TextView
android:id="@+id/localTimestamp"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1.0"
android:gravity="left|center_vertical"
android:text="localTime"
/>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:gravity="right|bottom"
android:weightSum="1.0" >
<TextView
android:id="@+id/weather"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:gravity="right|bottom"
android:text="w"
android:textColor="#FFFFFF"/>
<ImageView
android:id="@+id/ic_weather"
android:layout_width="25dip"
android:layout_height="25dip"
android:layout_toRightOf="@+id/weather"
android:background="@drawable/w_1"
android:contentDescription="@string/todo"
android:gravity="right|bottom" />
<TextView
android:id="@+id/temperature"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/ic_weather"
android:gravity="right|bottom"
android:text="@string/t"
/>
<TextView
android:id="@+id/unitTemp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right|bottom"
android:layout_toRightOf="@+id/temperature"
android:text="@string/c"
/>
</RelativeLayout>
</LinearLayout>
答案 0 :(得分:1)
添加
android:layout_centerVertical="true"
两个文字视图
<TextView
android:id="@+id/temperature"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/ic_weather"
android:gravity="right|bottom"
android:layout_centerVertical="true"
android:text="t" />
<TextView
android:id="@+id/unitTemp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/temperature"
android:gravity="right|bottom"
android:layout_centerVertical="true"
android:text="c" />
答案 1 :(得分:0)
请尝试这种方式,希望这有助于您解决问题。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="5dp">
<TextView
android:id="@+id/localTimestamp"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="localTime"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:gravity="center"
android:layout_marginLeft="5dp">
<TextView
android:id="@+id/weather"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:visibility="invisible"
android:gravity="right|bottom"
android:text="w"
android:textColor="#FFFFFF"/>
<ImageView
android:id="@+id/ic_weather"
android:layout_width="25dp"
android:layout_height="25dp"
android:background="@drawable/w_1"
android:layout_marginLeft="5dp"
android:contentDescription="@string/todo"/>
<TextView
android:id="@+id/temperature"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="@string/t"/>
<TextView
android:id="@+id/unitTemp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="@string/c"/>
</LinearLayout>
</LinearLayout>
答案 2 :(得分:0)
我认为@Haresh是对的。我使用的几乎一样。只需删除字符串。
我的xml代码:
<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:gravity="center" >
<LinearLayout
android:id="@+id/LinearLayout_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:weightSum="3.0" >
<TextView
android:id="@+id/localTimestamp"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1.0"
android:gravity="left|center_vertical"
android:text="localTime" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:gravity="right|bottom"
android:weightSum="1.0" >
<TextView
android:id="@+id/weather"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="right|bottom"
android:text="w"
android:textColor="#FFFFFF"
android:visibility="invisible" />
<ImageView
android:id="@+id/ic_weather"
android:layout_width="25dip"
android:layout_height="25dip"
android:layout_toRightOf="@+id/weather"
android:gravity="right|bottom" />
<TextView
android:id="@+id/temperature"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/ic_weather"
android:gravity="right|bottom" />
<TextView
android:id="@+id/unitTemp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/temperature"
android:gravity="right|bottom" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>