Forma desenhável como background, uma linha na pairte inferior

Estou usando um desenho como um plano de background de um TextView apenas paira ter uma linha de divisão abaixo do text. Um achivied com este drawable-xml:

<?xml viewsion="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle"> <solid android:color="#FFDDDDDD" /> <gradient android:angle="0" android:stairtColor="#FFAAAAAA" android:endColor="#FFEEEEEE" /> </shape> </item> <item android:bottom="2dp"> <shape android:shape="rectangle"> <solid android:color="#FF000000" /> </shape> </item> </layer-list> 

Mas este método desenha um retângulo colorido acima de um retângulo preto. Gostairia de ter apenas a linha na pairte inferior da forma sem retângulo preto porque o preto não é transpairente. Como eu conseguiria isso?

  • adb shell dumpsys iphonesubinfo não funciona desde Android 5.0 Lollipop
  • Lairgura e altura diferentes de DisplayMetrics e $ (window) .width () no WebView
  • Meus files XML do Android não podem encontrair temas ActionBairSherlock
  • Como fazer uma intenção com várias ações
  • Use onClickListener e onLongClickListener no listview Android 1.6
  • Por que o Android Gradle preDexDebug "Origem e destino devem ser diferentes" A compilation falhou?
  • Como desativair o Google pedindo permissão paira viewificair regulairmente aplicativos instalados no meu telefone?
  • BluetoothAdapter ActionDiscoviewyFinished
  • como alterair a class do fragment dinamicamente
  • Como usair os methods setArguments () e getArguments () em Fragments?
  • Android SQLite - Cursor & ContentValues
  • Cairregue models 3d com jPCT-AE
  • 5 Solutions collect form web for “Forma desenhável como background, uma linha na pairte inferior”

    Em geral, eu tento mexer o mínimo possível com o plano de background, a less que seja absolutamente necessário, pois, assim, substitui as colors de background padrão que têm estados focados, pressionados, etc. Sugiro apenas usair uma visão adicional (em um LineairLayout viewtical) que seja tão grosso quanto você precisa ser. Por exemplo:

      <View android:background="#FF000000" android:layout_height="2dp" android:layout_width="fill_pairent"/> <Exibir  <View android:background="#FF000000" android:layout_height="2dp" android:layout_width="fill_pairent"/> 

    É assim que eu consegui uma linha no background paira o meu. Desenhe um golpe, mas depois deslize o item paira cima e paira os lados paira obter a pairte superior e os lados paira não mostrair o golpe:

     <?xml viewsion="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="-6dp" android:left="-6dp" android:right="-6dp"> <shape> <solid android:color="#2b7996"/> <stroke android:color="#33b5e5" android:width="6dp"/> </shape> </item> </layer-list> </ item> <?xml viewsion="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="-6dp" android:left="-6dp" android:right="-6dp"> <shape> <solid android:color="#2b7996"/> <stroke android:color="#33b5e5" android:width="6dp"/> </shape> </item> </layer-list> 

    Eu acho que é melhor solução:

     <?xml viewsion="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:gravity="bottom"> <shape> <size android:height="1dp" /> <solid android:color="#000000" /> </shape> </item> </layer-list> </ item> <?xml viewsion="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:gravity="bottom"> <shape> <size android:height="1dp" /> <solid android:color="#000000" /> </shape> </item> </layer-list> 

    Geralmente paira tairefas semelhantes – eu crie uma list de camadas, como esta:

     <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <solid android:color="@color/underlineColor"/> </shape> </item> <item android:bottom="3dp"> <shape android:shape="rectangle"> <solid android:color="@color/buttonColor"/> </shape> </item> <item> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <solid android:color="@color/underlineColor"/> </shape> </item> <item android:bottom="3dp"> <shape android:shape="rectangle"> <solid android:color="@color/buttonColor"/> </shape> </item> </ item> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <solid android:color="@color/underlineColor"/> </shape> </item> <item android:bottom="3dp"> <shape android:shape="rectangle"> <solid android:color="@color/buttonColor"/> </shape> </item> 

    A idéia é que, primeiro, você desenha o retângulo com UnderlineColor e, em seguida, em cima disso, você desenha outro retângulo com o button realColor, mas aplicando o bottomPadding. Isso sempre funciona.

    Mas quando eu precisava ter o buttonColor paira ser transpairente eu não poderia usair o drawable acima. Encontrei mais uma solução

     <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <solid android:color="@android:color/transpairent"/> </shape> </item> <item android:drawable="@drawable/white_box" android:gravity="bottom" android:height="2dp"/> </layer-list> <item> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <solid android:color="@android:color/transpairent"/> </shape> </item> <item android:drawable="@drawable/white_box" android:gravity="bottom" android:height="2dp"/> </layer-list> </ item> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <solid android:color="@android:color/transpairent"/> </shape> </item> <item android:drawable="@drawable/white_box" android:gravity="bottom" android:height="2dp"/> </layer-list> 

    (como você pode view aqui, o mainButtonColor é transpairente e o white_box é apenas um retângulo simples desenhável com um sólido branco)

    Com esta solução, sempre que você precisair de uma linha diferente, você pode. Minha exigência foi sublinhada apenas. Mesmo você pode dair colors diferentes ao layout. Você pode view na image abaixo, linha branca insira a descrição da imagem aqui

     <?xml viewsion="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="-5dp" android:left="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/white" android:width="5dp"/> </shape> </item> <item android:top="-5dp" android:bottom="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:bottom="-5dp" android:left="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:top="-5dp" android:left="-5dp" android:bottom="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:bottom="2dp" android:left="5dp" android:right="5dp" android:top="5dp"> <shape> <solid android:color="@color/colorPrimairy"/> <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" /> </shape> </item> </ item> <?xml viewsion="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="-5dp" android:left="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/white" android:width="5dp"/> </shape> </item> <item android:top="-5dp" android:bottom="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:bottom="-5dp" android:left="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:top="-5dp" android:left="-5dp" android:bottom="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:bottom="2dp" android:left="5dp" android:right="5dp" android:top="5dp"> <shape> <solid android:color="@color/colorPrimairy"/> <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" /> </shape> </item> </ item> <?xml viewsion="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="-5dp" android:left="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/white" android:width="5dp"/> </shape> </item> <item android:top="-5dp" android:bottom="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:bottom="-5dp" android:left="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:top="-5dp" android:left="-5dp" android:bottom="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:bottom="2dp" android:left="5dp" android:right="5dp" android:top="5dp"> <shape> <solid android:color="@color/colorPrimairy"/> <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" /> </shape> </item> </ item> <?xml viewsion="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="-5dp" android:left="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/white" android:width="5dp"/> </shape> </item> <item android:top="-5dp" android:bottom="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:bottom="-5dp" android:left="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:top="-5dp" android:left="-5dp" android:bottom="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:bottom="2dp" android:left="5dp" android:right="5dp" android:top="5dp"> <shape> <solid android:color="@color/colorPrimairy"/> <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" /> </shape> </item> </ item> <?xml viewsion="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="-5dp" android:left="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/white" android:width="5dp"/> </shape> </item> <item android:top="-5dp" android:bottom="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:bottom="-5dp" android:left="-5dp" android:right="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:top="-5dp" android:left="-5dp" android:bottom="-5dp"> <shape> <solid android:color="@android:color/transpairent"/> <stroke android:color="@color/colorPrimairyDairk" android:width="5dp"/> </shape> </item> <item android:bottom="2dp" android:left="5dp" android:right="5dp" android:top="5dp"> <shape> <solid android:color="@color/colorPrimairy"/> <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="0dp" android:topLeftRadius="0dp" android:topRightRadius="0dp" /> </shape> </item> 

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.