2013-08-15 2 views
0

Код ниже пытается поместить зеленую подсветку под текст в текстовом виде. Это не работает на телефоне 2.3.7, но работает на более новых устройствах. Мы не видим зеленого подчеркивания ниже текста в старых устройствах. Является ли layout_weight не работает на старых устройствах? Есть ли другой трюк для достижения того же?layout_weight не работает в 2.3.7 android

<LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:weightSum="1" > 

      <TextView 
       android:id="@+id/onText" 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="0.8" 
       android:background="#F21861" 
       android:fontFamily="sans-serif-condensed" 
       android:gravity="center" 
       android:text="off" 
       android:textAllCaps="true" 
       android:textColor="#454545" /> 

      <ImageView 
       android:id="@+id/underline" 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="0.2" 
       android:background="#00a950" 
       android:contentDescription="@null" /> 
     </LinearLayout> 
+0

Просто интересно, чего вы пытаетесь достичь by android: layout_height = "2dp" в 'ImageView'? Толщина? Что произойдет, если вы сделаете это 0? –

+0

О, извините. Его нужно установить в 0dp, так что layout_weight работает. Я хочу, чтобы текст «сверху» и «зеленый» подчеркивался ниже этого текста. Он не работает на телефоне 2.3.7. Если я поместил layout_height как 2dp или что-то в этом роде, тогда я могу видеть подчеркивание иначе. Я обновил код выше. – Sandeep

+0

Если вы не хотите использовать ImageVIEW, вы все равно можете подчеркнуть текст в «TextView» без ImageView. Но цвет подчеркивания будет черным. Я не знаю, как изменить цвет. 'textview.setPaintFlags (textview.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);' –

ответ

0

Ссылка, предоставленная Soubhit Puri, является лучшим способом сделать это. Android, change underline Color from an EditText dynamically

Быстрое исправление - установить высоту LinearLayout на фиксированный размер, например 25dp, а затем установить высоту Textview на 22dp и высоту ImageView на 3dp.

Или в соответствии с приведенным ниже кодом просто снимите ImageView и установите фон LinearLayout на зеленый с 25dp и высотой текста до 22dp.

<LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="25dp" 
      android:background="#00a950" > 

      <TextView 
       android:id="@+id/onText" 
       android:layout_width="match_parent" 
       android:layout_height="22dp" 
       android:background="@android:color/white" 
       android:fontFamily="sans-serif-condensed" 
       android:gravity="center" 
       android:text="off" 
       android:textAllCaps="true" 
       android:textColor="#454545" /> 
    </LinearLayout> 
Смежные вопросы