2014-08-27 78 views
-1

对不起,如果我的问题听起来很简单,但我正在为列表项目设计一个简单的布局,并且我的意图与布局两端的文本查看对齐。我的尝试如下,但texviews正好相邻。任何想法,我要去错了吗?Android - 对齐布局末端的视图

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:padding="10dp" 
    android:orientation="horizontal"> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/ll_finc_calctr_result_label"> 

     <TextView 
      android:id="@+id/tv_finc_calctr_result_label" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"/> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right" 
     android:layout_alignRight="@+id/ll_finc_calctr_result_label" 
     android:layout_alignParentRight="true" 
     android:layout_toRightOf="@+id/ll_finc_calctr_result_label"> 

      <TextView 
       android:id="@+id/tv_finc_calctr_result" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center"/> 

    </LinearLayout> 

</RelativeLayout> 

回答

0

试试这个..

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:padding="10dp" > 

    <TextView 
     android:id="@+id/tv_finc_calctr_result_label" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="left" 
     android:text="text left" /> 

    <TextView 
     android:id="@+id/tv_finc_calctr_result" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="right" 
     android:text="text right" /> 

</LinearLayout> 
+0

感谢:如果您需要textViews'宽度实际上WRAP_CONTENT(例如,如果他们有一个背景造型等),您可以使用空间达到更精确的行为另一种选择可能是比较有用解。我工作就像一个魅力!真的很感激它。你的回答就是答案。 – TokTok123 2014-08-27 11:16:30

+0

@ TokTok123很高兴帮助。快乐编码。 – Hariharan 2014-08-27 11:17:24

0

首先,你需要从第二线性布局中删除的alignRighttoRightOf两个属性:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:padding="10dp" 
    android:orientation="horizontal"> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/ll_finc_calctr_result_label"> 

     <TextView 
      android:id="@+id/tv_finc_calctr_result_label" 
      android:layout_width="wrap_content" 
      android:text="ss" 
      android:layout_height="wrap_content"/> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right" 
     android:layout_alignParentRight="true" > 

      <TextView 
       android:id="@+id/tv_finc_calctr_result" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="sse" 
       android:layout_gravity="center"/> 

    </LinearLayout> 

</RelativeLayout> 

这将导致第二在右侧的textview。

而且我会建议你不要把两个线性布局,他们都包含只是一个单一的TextView:

喜欢的东西:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:padding="10dp" > 

    <TextView 
     android:id="@+id/tv_finc_calctr_result_label" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="ss" /> 

    <TextView 
     android:id="@+id/tv_finc_calctr_result" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:text="sse" /> 

</RelativeLayout> 

输出:

enter image description here

+0

感谢您的回复。您的回复在某些版面上似乎适用于我,并且在其他版面上失败。这一定是我如何放置相关布局的错。我会更深入地了解我的逻辑。虽然谢谢! – TokTok123 2014-08-27 11:18:05

0

Hariharan提供的解决方案非常出色。

<?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="wrap_content" 
android:orientation="horizontal" 
android:padding="10dp" > 

<TextView 
    android:id="@+id/tv_finc_calctr_result_label" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

<Space 
    android:layout_width="0dp" 
    android:layout_height="match_parent" 
    android:layout_weight="1" /> 

<TextView 
    android:id="@+id/tv_finc_calctr_result" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" /> 

</LinearLayout> 
+0

欢呼的建议,但正如你所说哈里哈兰的建议是非常神,它适用于我。谢谢。 – TokTok123 2014-08-27 11:19:31