2016-08-05 4 views
-2

У меня есть несколько кнопок в моем приложении, и я пытаюсь их стилизовать.Пользовательская кнопка Android/textview underline

Идея - это состояние по умолчанию - это обычный текст, а нижнее - подчеркнуто. Подчеркнутый текст должен отличаться от текста, более толстого, закругленного и длины слова. Я пытался добиться этого с помощью Paint, но безуспешно.

спасибо.

+0

Что вы пробовали? Пожалуйста, покажите нам свое усилие, так как [так] не работает с программным обеспечением. Сначала вы должны прочитать [ask] и предоставить [mcve] в каждом вопросе. – xenteros

+0

Я решил это, изменив следующее: http://stackoverflow.com/questions/2394935/can-i-underline-text-in-an-android-layout/18735350#18735350 – Cynapsys

+0

Затем вы можете пометить свой вопрос как дубликат или удалить его. – xenteros

ответ

0

Сделать вытяжке этого типа и добавить его в качестве фона или ButtonTextView линию Drawable, как показано ниже: -

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle"> 
      <solid android:color="@android:color/transparent" /> <!--background color of box--> 
     </shape> 
    </item> 

    <item 
     android:top="-2dp" 
     android:right="-2dp" 
     android:left="-2dp" 
     android:bottom="5dp"> 
     <shape> 
      <solid android:color="@android:color/transparent" /> 
      <stroke 
       android:width="3dp" 
       android:color="@android:color/black" /> <!-- color of stroke --> 
     </shape> 
    </item> 
</layer-list> 
+0

Спасибо Aditi. Как бы я обходил концы штриха и контролировал вертикальное расстояние от текста, используя этот метод. – Cynapsys

0

Это плохая идея, но ...

Вы должны использовать цвет селектор для текста и подчеркивания ручек в OnClickListener.

<string name="label_underlined"><u>This text has an underscore</u></string> 
<string name="label_default">Default text</string> 

button.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       v.setChecked(v.isChecked()); 
       if (v.isChecked()){ 
        button.setText(getString(R.string.label_underlined)); 
       } else { 
        button.setText(getString(R.string.label_default)); 
        } 
      } 
     }); 
Смежные вопросы