我有一个LinearLayout,其中包含一些带有名称(由用户指定)的TextView。我将文本旋转-90度,因为如果你有很多名字,名字很容易相互碰撞。问题是,即使文本被旋转,TextView也会保持正常文本的高度(设置为wrap_content)。这导致大多数名字被切断:
我想要的是TextViews扩展到与其中的名称一样大,以便用户可以清楚地读取每个名称。
相关代码:
InGame.java
//retrieve items from NewGameCreate.java
final String[] names = getIntent().getStringArrayExtra("namesList");
int holesNum = getIntent().getIntExtra("holes", 0);
//create header
LinearLayout header = findViewById(R.id.header);
for(String name: names){
TextView nameHeader = new TextView(getApplicationContext());
nameHeader.setText(name);
nameHeader.setLayoutParams(new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.WRAP_CONTENT, 1));
nameHeader.setRotation(-90);
nameHeader.setTextSize(32);
nameHeader.setSingleLine(true);
nameHeader.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
header.addView(nameHeader);
}
activity_in_game.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:orientation="vertical">
<LinearLayout
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/custom_border"
android:orientation="horizontal">
</LinearLayout>
<ScrollView
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/scrollChild"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
</LinearLayout>
<Button
android:id="@+id/calcScores"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="calculate"
android:text="Calculate Scores"
android:textSize="32sp"/>
</LinearLayout>
</ScrollView>
</LinearLayout>
感谢任何帮助,谢谢!