我目前正在研究服务器 - 客户端Android应用程序,在我的一个视图中,我有一个包含垂直LinearLayout的HorizontalScrollView。此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>
提前致谢!
答案 0 :(得分:0)
这是因为LinearLayout标记了TextViews的文本基线。
尝试指定
android:baselineAligned="false"
表示LinearLayout。