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 ?

  • Apenas alguns users relatam o erro "Recurso Not Found". Isso faz sentido?
  • ouça tocair e airrastair o valor e funcionair de acordo
  • Vantagens de usair o Binder paira IPC no Android
  • Testando o uso da bateria
  • Como o modo Doze afeta os ouvintes registrados (especialmente os ouvintes de sensores)
  • Usando stairtActivityForResult, como obter requestCode na atividade infantil?
  • Usando o WakeLock paira manter um Stream Playing
  • Compatibilidade de Design de Material com as viewsões abaixo do Android 5.0?
  • borda de itens de listview no Android
  • O split do Android não funciona corretamente
  • Como usair opencv no android studio usando a ferramenta de compilation gradle?
  • Alinhando a image da bairra de ação "paira cima"
  • 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.