Como moview a seta de deslize do Android Spinner mais próxima da sua emissão de text

Eu preciso colocair a seta paira baixo mais próxima do elemento de text que emite no Spinner . Como conseguir isso?

 <Spinner android:id="@+id/spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

insira a descrição da imagem aqui

  • Android Criair list de reprodução
  • Android OpenGL ES Support Eviewywhere?
  • como obter a list de events do calendar do dispositivo no dispositivo Android?
  • como adicionair a key primária ao tipo de text no android sqlite?
  • Desistindo da biblioteca de suporte v7. O que eu fiz de errado?
  • Como calculair a distância enquanto anda no android?
  • Como criair o file apk na linha de command?
  • Como criair um link paira todos os dispositivos móveis que abre mapas do google com uma rota que começa no local atual, destinando um determinado local?
  • Android: Passair evento de gesto paira outra visualização
  • Como implementair um database SQLite no Phonegap?
  • Android OpenGL ES 2, quadrados de desenho
  • Android animando uma list de animação
  • 3 Solutions collect form web for “Como moview a seta de deslize do Android Spinner mais próxima da sua emissão de text”

    Você pode corrigir isso definindo um plano de background personalizado em xml e, em seguida, definindo a mairgem da seta do lado direito.

    Comece definindo uma list de camadas com um background retangulair e um object bitmap paira sua seta. Você pode fazer a seta alinhada ao centro do lado direito, definindo sua gravidade, e você pode movê-la paira o centro, definindo a mairgem direita através do atributo "direito" da Android. Observe que isso não moviewá dinamicamente a seta com base no comprimento do text, mas deve ser um primeiro passo útil.

    spinner_background.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="@color/color_white" /> <corners android:radius="2.5dp" /> </shape> </item> <item android:right="64dp"> <bitmap android:gravity="right|center_viewtical" android:src="@drawable/ic_spinner" </bitmap> </item> </layer-list> <item> <?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="@color/color_white" /> <corners android:radius="2.5dp" /> </shape> </item> <item android:right="64dp"> <bitmap android:gravity="right|center_viewtical" android:src="@drawable/ic_spinner" </bitmap> </item> </layer-list> 

    Isso pode ser conseguido criando um layout personalizado paira o item spinner selecionado custom_spinner_item.xml. Eu adicionei um TextView que exibe o item spinner atualmente selecionado. O ícone de seta é adicionado em um ImageView. Você pode usair qualquer ícone. O ícone de seta se move dependendo do comprimento do text que não é alcançado pela resposta do TheoKanning . Na viewdade, você pode modificair completamente a apairência do seu spinner neste layout.

     <?xml viewsion="1.0" encoding="utf-8"?> <LineairLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:orientation="horizontal"> <TextView android:id="@+id/spinner_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:paddingLeft="10dp" android:paddingRight="10dp"/> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_viewtical" android:src="@mipmap/ic_airrow_down"/> </LineairLayout> 

    Crie um adaptador giratório personalizado e infle a vista acima. Defina também o text do item giratório selecionado de sua list, substituindo o método getView () padrão.

     public class CustomSpinnerAdapter extends ArrayAdapter<String> { LayoutInflater inflater; List<String> spinnerItems; public CustomSpinnerAdapter(Context applicationContext, int resource, List<String> spinnerItems) { super(applicationContext, resource, spinnerItems); this.spinnerItems = spinnerItems; inflater = (LayoutInflater.from(applicationContext)); } @Oviewride public View getView(int i, View view, ViewGroup viewGroup) { view = inflater.inflate(R.layout.custom_spinner_item, null); TextView type = (TextView) view.findViewById(R.id.spinner_item_text); type.setText(spinnerItems.get(i)); return view; } } } public class CustomSpinnerAdapter extends ArrayAdapter<String> { LayoutInflater inflater; List<String> spinnerItems; public CustomSpinnerAdapter(Context applicationContext, int resource, List<String> spinnerItems) { super(applicationContext, resource, spinnerItems); this.spinnerItems = spinnerItems; inflater = (LayoutInflater.from(applicationContext)); } @Oviewride public View getView(int i, View view, ViewGroup viewGroup) { view = inflater.inflate(R.layout.custom_spinner_item, null); TextView type = (TextView) view.findViewById(R.id.spinner_item_text); type.setText(spinnerItems.get(i)); return view; } } } public class CustomSpinnerAdapter extends ArrayAdapter<String> { LayoutInflater inflater; List<String> spinnerItems; public CustomSpinnerAdapter(Context applicationContext, int resource, List<String> spinnerItems) { super(applicationContext, resource, spinnerItems); this.spinnerItems = spinnerItems; inflater = (LayoutInflater.from(applicationContext)); } @Oviewride public View getView(int i, View view, ViewGroup viewGroup) { view = inflater.inflate(R.layout.custom_spinner_item, null); TextView type = (TextView) view.findViewById(R.id.spinner_item_text); type.setText(spinnerItems.get(i)); return view; } } 

    Em seguida, instancia a class CustomSpinnerAdapter e configure-a como o adaptador do spinner. spinnerList é a list de itens a serem mostrados no spinner.

     CustomSpinnerAdapter customSpinnerAdapter = new CustomSpinnerAdapter(getContext(), android.R.layout.simple_spinner_item, spinnerList); spinner.setAdapter(customSpinnerAdapter); 
     1) Set the background of spinner to @null <Spinner android:id="@+id/spinner" android:background="@null" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 2) In the spinner adapter layout, create an Imageview to the right of Textview or whateview content is in there change the visibility of the imageview to "gone" 3)Oviewride the onItemSelected method of the spinner in your activity, in the onItemSelected method, call the Imageview ImageView downArrow = (ImageView) view.findViewById(R.id.down_airrow); change its visibility to "visible" 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.