线性布局对齐问题

时间:2012-03-15 05:26:41

标签: android android-linearlayout

我需要在一行上有各种文本视图。然后我希望以单行为中心。好像它们是用单一文本视图编写的。所以我使用了线性布局。但我的问题是当我将其倾斜为纵向时,文字垂直掉落。我希望如果文字不适合屏幕,那么他们必须在倾斜时进入下一行“中心”。我的问题与https://stackoverflow.com/questions/9596493/linear-layout-is-not-keeping-text-view-in-center有些相同。请允许任何身体帮助。我的layout.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="vertical">

//some code here


    <LinearLayout 
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:orientation="horizontal"
             android:layout_marginBottom="30dp"
             android:layout_gravity="center_horizontal" >

            <TextView
            android:id="@+id/tv_jobs_info_note" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" 
            android:textColor="#000000" 
            android:text="@string/jobs_info_note"
            android:textSize="20dp" 
            android:paddingRight="5dp"
             />

            <TextView
            android:id="@+id/tv_my_job" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" 
            android:text="@string/my_job"
            android:clickable="true"
            android:textColor="#0000FF" 
            android:onClick="onWorkListClick"
            android:textSize="20dp" 
            android:paddingRight="5dp"
             />

            <TextView
            android:id="@+id/tv_jobs_info_note_mid" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" 
            android:textColor="#000000" 
            android:text="@string/jobs_info_note_mid"
            android:textSize="20dp" 
            android:paddingRight="5dp"
             />

            <TextView
            android:id="@+id/tv_team_job" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" 
            android:textColor="#0000FF"
            android:clickable="true"
            android:onClick="onWorkListClick"
            android:text="@string/team_job"
            android:textSize="20dp" 
            android:paddingRight="5dp"
             />

            <TextView
            android:id="@+id/tv_jobs_info_note_end" 
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" 
            android:text="@string/jobs_info_note_end"
            android:textColor="#000000" 
            android:textSize="20dp" 
            android:paddingRight="5dp"
             />

        </LinearLayout>
        //Some more code here
        <ImageView
            android:id="@+id/img_current_job_map" 
            android:layout_gravity="center_horizontal|bottom"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/map" />
    </LinearLayout>

还有其他方法可以做到这一点,任何帮助都将受到赞赏。

2 个答案:

答案 0 :(得分:0)

也许你正在寻找这样的东西:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="35dp"
        android:layout_marginTop="175dp"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView1"
        android:layout_marginLeft="8dp"
        android:layout_toRightOf="@+id/textView1"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView2"
        android:layout_alignBottom="@+id/textView2"
        android:layout_marginLeft="8dp"
        android:layout_toRightOf="@+id/textView2"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView3"
        android:layout_alignBottom="@+id/textView3"
        android:layout_marginLeft="8dp"
        android:layout_toRightOf="@+id/textView3"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="40dp"
        android:layout_marginLeft="8dp"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/textView5"
        android:layout_alignBottom="@+id/textView5"
        android:layout_marginLeft="8dp"
        android:layout_toRightOf="@+id/textView5"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView6"
        android:layout_marginLeft="8dp"
        android:layout_toRightOf="@+id/textView6"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView7"
        android:layout_marginLeft="8dp"
        android:layout_toRightOf="@+id/textView7"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView9"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView8"
        android:layout_toRightOf="@+id/textView8"
        android:layout_marginLeft="8dp"
        android:text="TextView" />

</RelativeLayout>

你所要做的就是将TextViews相对于彼此放在一起,我相信这应该有效。希望这会有所帮助。

答案 1 :(得分:0)

我尝试使用不同的字体大小。虽然它不是正确的方法,但仍然没有选择。如果有更好的选择,请建议我