Центрирование CustomFontTextView программно - PullRequest
0 голосов
/ 17 июня 2019

Почему-то у меня возникают проблемы с центрированием текста виджетов CustomTextView, который должен быть одним кодом строки.

LinearLayout.LayoutParams linearLayoutParams = new LinearLayout.LayoutParams(0, height, 1);
LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setLayoutParams(linearLayoutParams);
linearLayout.setOrientation(LinearLayout.VERTICAL);
linearLayout.setGravity(Gravity.CENTER);
masterLinearLayout.addView(linearLayout);

LinearLayout.LayoutParams textViewParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
textViewParams.gravity = Gravity.CENTER_HORIZONTAL;

CustomFontTextView valueTextView = new CustomFontTextView(this);
valueTextView.setLayoutParams(textViewParams);
valueTextView.setTextAppearance(this, R.style.CoolStyle);
valueTextView.selectCustomFont(getString(R.string.default_regular_font));
linearLayout.addView(valueTextView);

И мой стиль "CoolStyle":

<style name="CoolStyle" parent="@android:style/TextAppearance.Medium">
        <item name="android:textColor">@android:color/white</item>
        <item name="android:textSize">@dimen/..</item>
        <item name="android:layout_marginTop">10dp</item>
        <item name="android:layout_margin">3dip</item>
        <item name="android:gravity">center_horizontal</item>
        <item name="android:layout_gravity">center_horizontal</item>
        <item name="android:singleLine">true</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
</style>

Что странно - textColoring и textSize на самом деле работают, но я не могу отцентрировать текст и сделать его одной текстовой строкой. Что я делаю не так?

1 Ответ

0 голосов
/ 17 июня 2019

Во-первых, проверьте ваш родительский LinearLayout, имеет ли он полную ширину или нет.Во-вторых, вы устанавливаете layout_width textView как WRAP_CONTENT программно, но стиль имеет противоположный MATCH_PARENT.Затем вы устанавливаете textAppearance для textViewParams , это ни на что не повлияет.Попробуйте установить его для макета и дать правильную гравитацию.

...