旋转TextView中的文本保持标准旋转高度

时间:2018-06-17 03:08:11

标签: android textview

我有一个LinearLayout,其中包含一些带有名称(由用户指定)的TextView。我将文本旋转-90度,因为如果你有很多名字,名字很容易相互碰撞。问题是,即使文本被旋转,TextView也会保持正常文本的高度(设置为wrap_content)。这导致大多数名字被切断:

Screenshot from Layout Inspector in Android Studio

我想要的是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>

感谢任何帮助,谢谢!

0 个答案:

没有答案