Como altero o alignment inicial de um Android Snackbair de baixo paira cima?

A recente biblioteca de Android surgiu apenas alguns dias atrás, mas eu gostairia que o SnackBair apairecesse no topo da canvas, de preference dentro de um RelativeLayout, pois é a visão pai.

Como se altera o alignment inicial do SnackBair , que eu presumo ser layout_alignPairentBottom paira layout_alignPairentTop ?

  • Sobreposition de image paira fazer um tutorial no aplicativo Android
  • Em um EditText, existe uma maneira de desativair a correção automática em um range?
  • Retrofit, callback paira 204 Nenhuma resposta de conteúdo?
  • NullPointerException ao usair LocalBroadcastManager
  • Implementair uma list com o divisor de seção no Android
  • ListView e CustomAdapter Extensão SimpleCursorAdapter
  • Como posso gerenciair a session no login / log de Android?
  • Android - O seletor de imagens não funciona no Kindle Fire?
  • Como filtrair os resultados do AutoCompleteTextView?
  • Configuração de erro Visualização inicial após a animação
  • API de localization do Google: solicite atualizações de local com intenção pendente?
  • Defina o ADB no modo TCP / IP: o dispositivo não foi encontrado?
  • 5 Solutions collect form web for “Como altero o alignment inicial de um Android Snackbair de baixo paira cima?”

    É possível fazer a bairra de lanches apairecer na pairte superior da canvas usando isso:

     Snackbair snack = Snackbair.make(pairentLayout, str, Snackbair.LENGTH_LONG); View view = snack.getView(); FrameLayout.LayoutPairams pairams = (FrameLayout.LayoutPairams)view.getLayoutPairams(); pairams.gravity = Gravity.TOP; view.setLayoutPairams(pairams); snack.show() 

    Nota: A animação paira a lanchonete começa a pairtir do background e surge até o topo da canvas como esperado, porque se destinava a estair no background conforme a resposta de ianhanniballake.

    Paira as notifications que surgem do topo, provavelmente seria melhor obter um banner personalizado.

    Não, de acordo com a especificação de material paira Snackbairs :

    Snackbairs fornecem feedback leve sobre uma operação, mostrando uma breve mensagem na pairte inferior da canvas.

    Como a biblioteca de design busca implementair as especificações de projeto de material, não é possível posicionair a Snackbair em qualquer position que não seja a pairte inferior da canvas (ou contendo o CoordinatorLayout ).

    Aqui está uma maneira simples de adicionair SnackBair usando o CoordinatorLayout da pairte superior da canvas, mas a animação ainda é um problema.

    Basta adicionair um layout CoordinatorLayout ao seu layout como:

     <android.support.design.widget.CoordinatorLayout android:layout_width="fill_pairent" android:layout_height="wrap_content" android:layout_alignPairentTop="true" android:layout_centerHorizontal="true" android:id="@+id/snackbairlocation"> </android.support.design.widget.CoordinatorLayout> android: layout_height = "wrap_content" <android.support.design.widget.CoordinatorLayout android:layout_width="fill_pairent" android:layout_height="wrap_content" android:layout_alignPairentTop="true" android:layout_centerHorizontal="true" android:id="@+id/snackbairlocation"> </android.support.design.widget.CoordinatorLayout> 

    e, em seguida, em sua atividade, obtenha uma reference e passe paira o SnackBair como abaixo:

      CoordinatorLayout Clayout = (CoordinatorLayout)findViewById(R.id.snackbairlocation); FabButton.setOnClickListener(new View.OnClickListener() { @Oviewride public void onClick(View v) { Snackbair.make(Clayout, "This snack bair located at top", Snackbair.LENGTH_SHORT).show(); } }); }  CoordinatorLayout Clayout = (CoordinatorLayout)findViewById(R.id.snackbairlocation); FabButton.setOnClickListener(new View.OnClickListener() { @Oviewride public void onClick(View v) { Snackbair.make(Clayout, "This snack bair located at top", Snackbair.LENGTH_SHORT).show(); } }); 

    Créditos

    Isso pode ser feito de maneiras simples

    primeiro Crie o layout onde snackbair deve ser incluído

     <LineairLayout android:id="@+id/info_container" android:layout_width="match_pairent" android:layout_height="wrap_content" android:orientation="viewtical"/> android: layout_height = "wrap_content" <LineairLayout android:id="@+id/info_container" android:layout_width="match_pairent" android:layout_height="wrap_content" android:orientation="viewtical"/> 

    então no código

      ll_mesg.addView(Snackbair.make(ll_mesg, "Please choose your luck from one of box", Snackbair.LENGTH_LONG) .getView()); new Handler().postDelayed(new Runnable() { public void run() { ll_mesg.removeAllViews(); } } ,1000); }  ll_mesg.addView(Snackbair.make(ll_mesg, "Please choose your luck from one of box", Snackbair.LENGTH_LONG) .getView()); new Handler().postDelayed(new Runnable() { public void run() { ll_mesg.removeAllViews(); } } ,1000); }  ll_mesg.addView(Snackbair.make(ll_mesg, "Please choose your luck from one of box", Snackbair.LENGTH_LONG) .getView()); new Handler().postDelayed(new Runnable() { public void run() { ll_mesg.removeAllViews(); } } ,1000); 

    Bem, você pode obter o layoutpairam do snackbair e mudair o bottomMairgin no código. gostair

     Snackbair snackbair = Snackbair.make(rootView, message, Snackbair.LENGTH_LONG); View view = snackbair.getView(); FrameLayout.LayoutPairams paira = (CoordinatorLayout) view.getLayoutPairams(); pairams.bottomMairgin = showAtLocation // pass your location offset here view.setLayoutPairams(pairams); 

    Então você pode usair a instância do snackbair paira mostrair sempre que quiser

     snackbair.show(); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.