新行时TextView向下移动

时间:2014-06-26 15:13:48

标签: java android android-layout textview

我目前正在研究服务器 - 客户端Android应用程序,在我的一个视图中,我有一个包含垂直LinearLayout的Horizo​​ntalScrollView。此LinearLayout将包含一组使用背景自定义的TextView。它工作正常,直到TextViews因为字符长度而得到一个新行,它看起来像这样:

http://puu.sh/9L127/bf29a86639.jpg

这个想法是文本应该适合背景,有没有什么方法可以保持TextView的位置像其他的一样,即使它有多行?

我希望自己足够清楚,这就是在代码中设置TextView的方式:

public void setupCard(GameCard card) {
    final int CARD_WIDTH = 200;
    final int CARD_HEIGHT = 100;

    m_card = card;
    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(CARD_WIDTH, CARD_HEIGHT);
    lp.setMargins(0, 0, 5, 0);
    super.setText(m_card.getContent());
    super.setBackgroundResource(R.drawable.cardbg);
    super.setLayoutParams(lp);
    super.setGravity(Gravity.CENTER);
}

这就是活动的设置方式:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:background="@drawable/bng"
android:orientation="vertical" >

<HorizontalScrollView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:id="@+id/cardLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

    </LinearLayout>
</HorizontalScrollView>

提前致谢!

1 个答案:

答案 0 :(得分:0)

这是因为LinearLayout标记了TextViews的文本基线。

尝试指定

android:baselineAligned="false"

表示LinearLayout。