【问题标题】:Aligning multiple EditTexts and TextViews after a pattern在一个模式之后对齐多个 EditTexts 和 TextViews
【发布时间】:2013-12-14 06:36:30
【问题描述】:

我想在我的应用中创建一个 Manage Profile Activity,它会形成一个类似表单的一系列字段,如下所示:

<LinearLayout android:orientation="vertical">

  <LinearLayout android:orientation="horizontal">
    <TextView android:text="EMAIL "/>
    <EditText android:hint="EMAIL "/>
  </LinearLayout

  <LinearLayout android:orientation="horizontal">
    <TextView android:text="USERNAME "/>
    <EditText android:hint="USERNAME "/>
  </LinearLayout

<LinearLayout>

我希望所有 EditText 都在最长的 TextView 之后由一条垂直线对齐。 (在这种情况下似乎是“名字”)

电子邮件 alex.johnson@mailbox.com

用户名 alexton_mg84

名字亚历克斯

..

手机 +44 325 23 523

性别男

..

这是一个附加的 sn-p 它目前的样子。

这是我所追求的行为:

谢谢!

【问题讨论】:

    标签: android android-layout textview alignment android-edittext


    【解决方案1】:

    对 TextView 和 EditTexts 使用 layout_weight 属性..

    使用 layout_weight 您可以指定多个视图之间的大小比例。例如。你有一个 MapView 和一个应该向地图显示一些附加信息的表格。地图应占屏幕的 3/4,表格应占屏幕的 1/4。然后将地图的 layout_weight 设置为 3,将 table 的 layout_weight 设置为 1。

    【讨论】:

      【解决方案2】:

      我想我会以相反的方式做:两个LinearLayoutandroid:orientation="vertical" 在一个LinearLayoutandroid:orientation="horizontal" 第一个用于您的 TextViews,第二个用于您的 EditTexts。

      【讨论】:

      • 如我所见,我正在寻找的关键词是“android:layout_width="0dp",我使用的是 wrap_content.Tyvm!
      【解决方案3】:

      这是你的完整代码,你可以根据需要添加更多字段:) 祝你好运

        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/mainContainer"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:background="#000000"
              android:orientation="vertical" >
      
              <LinearLayout
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:layout_margin="10dp"
                  android:background="#ffffff"
                  android:orientation="vertical" >
      
                  <LinearLayout
                      android:layout_width="fill_parent"
                      android:layout_height="wrap_content"
                      android:layout_weight="2"
                      android:orientation="horizontal" >
      
                      <TextView
                          android:id="@+id/tvOne"
                          android:layout_width="0dp"
                          android:layout_height="wrap_content"
                          android:layout_weight=".75"
                          android:text="Email" />
      
                      <EditText
                          android:id="@+id/tvThree"
                          android:layout_width="0dp"
                          android:layout_height="wrap_content"
                          android:layout_weight="1.25"
                          android:text="Three" />
                  </LinearLayout>
      
                  <LinearLayout
                      android:layout_width="fill_parent"
                      android:layout_height="3dp"
                      android:background="#000000" >
                  </LinearLayout>
      
                  <LinearLayout
                      android:layout_width="fill_parent"
                      android:layout_height="wrap_content"
                      android:layout_weight="2"
                      android:orientation="horizontal" >
      
                      <TextView
                          android:id="@+id/tvOned"
                          android:layout_width="0dp"
                          android:layout_height="wrap_content"
                          android:layout_weight=".75"
                          android:text="User Name" />
      
                      <EditText
                          android:id="@+id/tvThreeda"
                          android:layout_width="0dp"
                          android:layout_height="wrap_content"
                          android:layout_weight="1.25"
                          android:text="Three" />
                  </LinearLayout>
              </LinearLayout>
      
          </LinearLayout>
      

      【讨论】:

        【解决方案4】:

        您需要使用布局权重。您可以这样做 > 试试看。

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="100" 
            android:orientation="horizontal" >
        
            <TextView
                android:layout_width="0dp"
                android:layout_weight="40"
                android:layout_height="wrap_content"
                android:textSize="20sp" 
                android:text="EMAIL " />
        
            <EditText
                android:layout_width="0dp"
                android:layout_weight="60"
                android:layout_height="wrap_content" 
                android:hint="EMAIL"
                android:textSize="20sp" />
        </LinearLayout>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-06-12
          • 1970-01-01
          • 2017-06-08
          • 2011-08-28
          • 2015-10-15
          • 2012-05-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多