【问题标题】:Alignment issue for textview in androidandroid中textview的对齐问题
【发布时间】:2013-12-27 17:57:24
【问题描述】:

我正在尝试在“facebook”和“twitter”的图标和标题下方获取文本“您的令牌已用完,请重新连接”,但它们之间存在很大差距。我尝试了所有可能的方法,但不确定我在哪里失踪。下面是我的代码截图。

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >

            <LinearLayout
                android:id="@+id/linearLayout1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ffffff"
                android:gravity="center_vertical"
                android:orientation="horizontal" >

                <ImageView
                    android:id="@+id/facebook"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:paddingLeft="10dip"
                    android:src="@drawable/facebook" />

                <TextView
                    android:id="@+id/list"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"
                    android:gravity="center_vertical"
                    android:minHeight="?android:attr/listPreferredItemHeight"
                    android:paddingLeft="10dip"
                    android:text="Facebook"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="#444444"
                    android:textSize="20sp" />

                <ImageView
                    android:id="@+id/facebook"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right|center_vertical"
                    android:paddingRight="15dip"
                    android:src="@drawable/ok" />
            </LinearLayout>

            <TextView android:id="@+id/tokentextfacebook"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/facebook"   
                    android:textSize="14sp"
                    android:paddingLeft="10dip"
                    android:background="#ffffff"
                    android:text="Your token is run out. Please reconnect"
                    android:textColor="#444444"
                    android:gravity="left"
                />

            <View
                android:layout_width="fill_parent"
                android:layout_height="1dp"
                android:background="@android:color/darker_gray"/>

            <LinearLayout
                android:id="@+id/linearLayout1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ffffff"
                android:orientation="horizontal">

                <ImageView
                    android:id="@+id/facebook"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:paddingLeft="10dip"
                    android:src="@drawable/twitter" />

                <TextView
                    android:id="@+id/list"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"
                    android:gravity="center_vertical"
                    android:minHeight="?android:attr/listPreferredItemHeight"
                    android:paddingLeft="10dip"
                    android:text="Twitter"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="#4a82ae"
                    android:textSize="20sp" />

                <ImageView
                    android:id="@+id/twitter"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right|center_vertical"
                    android:paddingRight="15dip"
                    android:src="@drawable/ok" />
            </LinearLayout>

            <TextView android:id="@+id/tokentexttwitter"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/facebook"   
                    android:textSize="14sp"
                    android:paddingLeft="10dip"
                    android:background="#ffffff"
                    android:text="Your token is run out. Please reconnect"
                    android:textColor="#444444"
                    android:gravity="left"
                />

        </LinearLayout>
    </LinearLayout>

【问题讨论】:

  • 您是否注意到您的ImageViewTextView ID 相同facebook
  • 是的...我明白了,但那些是静态的东西,所以不应该影响对齐...我会更正那个...不对齐的任何原因?
  • 使用RelativeLayout。它很容易正确对齐控件。

标签: android layout textview alignment


【解决方案1】:

这种设计使用 RelativeLayout 会更容易实现,但您可以在 TextView 上使用负边距来正确定位它。

android:layoutMarginTop="-10dp"

【讨论】:

  • 是否推荐使用负值?
  • @user45678 为了正确放置 TextView,这可能是一个必要的恶行。
【解决方案2】:

试试

android:paddingBottom="30dip"

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >

            <LinearLayout
                android:id="@+id/linearLayout1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ffffff"
                android:gravity="center_vertical"
                android:orientation="horizontal" >

                <ImageView
                    android:id="@+id/facebook"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:paddingLeft="10dip"
                    android:src="@drawable/facebook" />

                <TextView
                    android:id="@+id/list"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"
                    android:gravity="center_vertical"
                    android:minHeight="?android:attr/listPreferredItemHeight"
                    android:paddingLeft="10dip"
                    android:text="Facebook"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="#444444"
                    android:textSize="20sp" />

                <ImageView
                    android:id="@+id/facebook"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right|center_vertical"
                    android:paddingRight="15dip"
                    android:src="@drawable/ok" />
            </LinearLayout>

            <TextView android:id="@+id/tokentextfacebook"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/facebook"   
                    android:textSize="14sp"
                    android:paddingLeft="10dip"
                    android:background="#ffffff"
                    android:text="Your token is run out. Please reconnect"
                        android:paddingBottom="30dip"
                    android:textColor="#444444"
                    android:gravity="left"
                />

            <View
                android:layout_width="fill_parent"
                android:layout_height="1dp"
                android:background="@android:color/darker_gray"/>

            <LinearLayout
                android:id="@+id/linearLayout1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ffffff"
                android:orientation="horizontal">

                <ImageView
                    android:id="@+id/facebook"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:paddingLeft="10dip"
                    android:src="@drawable/twitter" />

                <TextView
                    android:id="@+id/list"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"
                    android:gravity="center_vertical"
                    android:minHeight="?android:attr/listPreferredItemHeight"
                    android:paddingLeft="10dip"
                    android:text="Twitter"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="#4a82ae"
                    android:textSize="20sp" />

                <ImageView
                    android:id="@+id/twitter"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right|center_vertical"
                    android:paddingRight="15dip"
                    android:src="@drawable/ok" />
            </LinearLayout>

            <TextView android:id="@+id/tokentexttwitter"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/facebook"   
                    android:textSize="14sp"
                    android:paddingLeft="10dip"
                    android:background="#ffffff"
                    android:text="Your token is run out. Please reconnect"
                    android:textColor="#444444"
                        android:paddingBottom="30dip"
                    android:gravity="left"
                />

        </LinearLayout>
    </LinearLayout>

【讨论】:

    【解决方案3】:

    用你的最小高度标准在错误的地方提出问题,使用刚刚修改的这个布局。

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:orientation="vertical" >
    
            <LinearLayout
                android:id="@+id/linearLayout1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ffffff"
                android:gravity="center_vertical"
                android:orientation="horizontal" >
    
                <ImageView
                    android:id="@+id/facebook"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:paddingLeft="10dip"
                    android:src="@drawable/facebook" />
    
                <TextView
                    android:id="@+id/list"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"
                    android:gravity="center_vertical"
                    android:paddingLeft="10dip"
                    android:text="Facebook"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="#444444"
                    android:textSize="20sp" />
    
                <ImageView
                    android:id="@+id/facebook"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right|center_vertical"
                    android:paddingRight="15dip"
                    android:src="@drawable/ok" />
            </LinearLayout>
    
            <TextView
                android:id="@+id/tokentextfacebook"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/facebook"
                android:layout_gravity="top"
                android:background="#ffffff"
                android:gravity="left"
                android:paddingLeft="10dip"
                android:text="Your token is run out. Please reconnect"
                android:textColor="#444444"
                android:textSize="14sp" />
        </LinearLayout>
    
        <View
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="@android:color/darker_gray" />
    
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:minHeight="?android:attr/listPreferredItemHeight"
            android:orientation="vertical" >
    
            <LinearLayout
                android:id="@+id/linearLayout1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="#ffffff"
                android:orientation="horizontal" >
    
                <ImageView
                    android:id="@+id/facebook"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:paddingLeft="10dip"
                    android:src="@drawable/twitter" />
    
                <TextView
                    android:id="@+id/list"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.5"
                    android:gravity="center_vertical"
                    android:paddingLeft="10dip"
                    android:text="Twitter"
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="#4a82ae"
                    android:textSize="20sp" />
    
                <ImageView
                    android:id="@+id/twitter"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right|center_vertical"
                    android:paddingRight="15dip"
                    android:src="@drawable/ok" />
            </LinearLayout>
    
            <TextView
                android:id="@+id/tokentexttwitter"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/facebook"
                android:background="#ffffff"
                android:gravity="left"
                android:paddingLeft="10dip"
                android:text="Your token is run out. Please reconnect"
                android:textColor="#444444"
                android:textSize="14sp" />
        </LinearLayout>
    
    
    
    </LinearLayout>
    

    【讨论】:

    • 它给出了可怕的结果
    • 它没有正确发布,只是编辑了我的答案,它可以尝试一下
    猜你喜欢
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 2014-02-18
    相关资源
    最近更新 更多