Подтвердить что ты не робот

Размер шрифта кнопки Android

Я пытаюсь создать пользовательскую кнопку в android с помощью этого учебника - http://www.gersic.com/blog.php?id=56

Он работает хорошо, но он не говорит, как изменить размер шрифта или вес. Любые идеи?

Здесь был еще один вопрос, и единственным ответом было использование html-стиля, но вы не можете изменить размер шрифта в html без использования css (или устаревшего тега шрифта). Должен быть лучший способ установить размер пикселя шрифта, используемого на кнопках?

4b9b3361

Ответ 1

Вы определяете эти атрибуты в xml, как и вы, например:

<Button android:id="@+id/next_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/next"
            android:background="@drawable/mybutton_background"
            android:textSize="10sp" /> <!-- Use SP(Scale Independent Pixel) -->

Вы можете найти разрешенные атрибуты в api.

Или, если вы хотите, чтобы это применимо ко всем кнопкам в приложении, создайте стиль. См. Документацию Стили и темы.

Ответ 2

Button butt= new Button(_context);
butt.setTextAppearance(_context, R.style.ButtonFontStyle);

и в res/values ​​/style.xml

<resources>   
    <style name="ButtonFontStyle">
            <item name="android:textSize">12sp</item>
    </style>
</resources>

Ответ 3

Программный:

Button bt = new Button(this);
bt.setTextSize(12);

В xml:

<Button
    android:textSize="10sp"
/>

Ответ 4

Я попытался поместить размер шрифта в styles.xml, но когда я пошел использовать его, он разрешил только ресурсы из папки dimen, поэтому поставил его там, не знаю, что это правильно.

        <Button
                android:layout_weight="1"
                android:id="@+id/three_btn"
                android:layout_height="match_parent"
                android:layout_width="0dp"
                android:onClick="onButtonClick"
                android:textColor="#EEEEEE"
                android:textStyle="bold"
                android:textSize="@dimen/buttonFontSize"
                android:text="3"/>

Ответ 5

Другой программный подход;

final Button btn = (Button) findViewById(R.id.btnSize);

        final float[] size = {12};

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                size[0] +=2;
                btn.setTextSize(size[0] +2);
            }
        });

Каждый раз, когда вы нажимаете кнопку, текст кнопки изменяется (размер + 2px). Вы можете добавить еще одну кнопку и изменить размер -2px тоже. Если вы хотите сохранить размер для других открытий, вы можете использовать интерфейс Общие предпочтения.

Ответ 6

<resource>
<style name="button">
<item name="android:textSize">15dp</item>
</style>
<resource>

Ответ 7

Другой подход:

сначала объявляя int с размером шрифта по умолчанию

int txtSize = 16;

           button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mTextView.setTextSize(txtSize++);
                }
            });

Ответ 8

В файле XML размер шрифта текста ant, включая кнопку, textView, editText и другие, можно изменить, добавив

андроид: TextSize = "10sp"