web-dev-qa-db-ja.com

Android Lにスナックバーのコードはありますか?それとも自分で実装する予定ですか?

マテリアルデザインのウェブサイトでは、スナックバーと呼ばれるトーストのような新しい要素について言及しています: http://www.google.com/design/spec/components/snackbars-and-toasts.html

Android LプレビューSDKドキュメント(ダウンロードのみであるため、リンクできません)には、クラスリストまたはToastクラスドキュメントの修飾子としてのスナックバーについての言及がありません。私は明らかな何かが欠けているか、独自のSnackbar.javaを作成する必要がありますか?

18
Tim Trueman

更新2015-05-29:

Googleは デザインサポートライブラリ をリリースしました。これには スナックバー とその他のマテリアルデザインウィジェットが含まれています。

元の回答で言及されていたSnackbarlibは非推奨になりました。

元の回答

Googleは、プレビューSDKにもないフローティングアクションボタンとともに、最終的には将来のSDKに含めると確信しています。

@friedrich nietzcheが指摘したように、私はあなたのプロジェクトにSnackbarを含めるためにライブラリを実装しました。

https://github.com/nispok/snackbar

それが役に立てば幸い!

24
wmora

FWIW、

L Developer Preview にはSnackbarの実装がないように見えます。 マテリアルデザインガイドライン にできるだけ近づけることを目的として、 スナックバーライブラリ も実装しました。ありがとう。

4
MrEngineer13

マバイはここでこれを見てください。 http://www.williammora.com/2014/08/snackbar-Android-library.html

ネイティブバージョンは最終的にSDKに表示されると思います。私が同意するのは少し奇妙です。

3
samst

スナックバーは事実上 クルトン に余裕があります。現在の形式のCroutonは、ViewGroupの開始(0番目のアイテム)への追加のみをサポートしていますが、Croutonの非常に「strayan」な拡張機能であるDownUnderModeは my github にあります。公式のCroutonライブラリとDownUnderModeバージョンが少し同期していないことに注意してください(DownUnderModeプルリクエストが受け入れられる2058年に修正されることを願っています)。

1
straya

Androidでスナックバーを実装する簡単な方法は次のとおりです

手順1.サポートライブラリ23を追加し、次のコマンドを使用してプロジェクトをコンパイルします。

compile 'com.Android.support:appcompat-v7:23.0.1'

ステップ2.アクティビティファイルに座標レイアウトを追加します

<Android.support.design.widget.CoordinatorLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:app="http://schemas.Android.com/apk/res-auto"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:id="@+id/coordinatorLayout"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    tools:context=".MainActivity">


</Android.support.design.widget.CoordinatorLayout>

ステップ3.MainActivity.Javaに次のコードを追加して、スナックバーを実装します

public class MainActivity extends AppCompatActivity {

    CoordinatorLayout coordinatorLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinatorLayout);
        ShowSnack();
    }

    public void ShowSnack() {
        Snackbar snackbar = Snackbar.make(coordinatorLayout, "Snackbar Label", Snackbar.LENGTH_LONG);
        snackbar.setAction("Action", new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "Action", Toast.LENGTH_LONG).show();
            }
        });
        snackbar.setActionTextColor(Color.RED);
        View snackbarView = snackbar.getView();
        snackbarView.setBackgroundColor(Color.DKGRAY);
        TextView textView = (TextView) snackbarView.findViewById(Android.support.design.R.id.snackbar_text);
        textView.setTextColor(Color.YELLOW);
        snackbar.show();
    }
}

これがあなたのために働くことを願っています。

詳細についてはAndroidチュートリアルはこのブログに従ってください: Trinity Tuts

0
Aneh Thakur

デザインライブラリを使用すると、Android 2.1以降のすべてのバージョンに実装できます。

これが実際のサンプルコードです http://www.feelzdroid.com/2015/06/snackbar-Android-example-using-design-support-library.html

ヘルプが必要な場合は、コメントをドロップしてください。

0
Naruto