GitHub リポジトリversion-two/flutter_imagebutton

flutter_imagebutton

Flutter用の画像ボタン

flutter_imagebutton のプロジェクト画像
スター
6
フォーク
5
最終プッシュ(UTC)
2024/12/13
プロジェクト状態
公開中

元の README

以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。

ImageButton

A customizable button widget composed of two images.

About

ImageButton is a simple plugin that allows you to create buttons using images with two states: pressed and unpressed. It is designed for use cases where you want a button that visually responds to user interaction with images.


How to Use ImageButton

Widget build(BuildContext context) {
  return ImageButton(
    child: Row(
      children: [
        Icon(Icons.star, color: Colors.white),
        Text("Click Me", style: TextStyle(color: Colors.white))
      ],
    ),
    width: 100,
    height: 50,
    pressedImage: Image.asset("assets/pressed.png"),
    unpressedImage: Image.asset("assets/unpressed.png"),
    onTap: () {
      print('Button pressed!');
    },
  );
}

ImageButton Properties

Property Type Description
child Widget? Custom widget to display inside the button. Preferred over children.
children List<Widget> Widgets to be displayed inside the button (deprecated, use child instead).
unpressedImage Image The image displayed when the button is not pressed.
pressedImage Image The image displayed when the button is pressed.
label Widget? An optional label widget displayed below the button.
onTap VoidCallback? Callback function triggered when the button is tapped.
width double? Width of the button.
height double? Height of the button.
mainAxisAlignment MainAxisAlignment How the children are aligned horizontally. Default is MainAxisAlignment.center.
crossAxisAlignment CrossAxisAlignment How the children are aligned vertically. Default is CrossAxisAlignment.center.
isEnabled bool Determines if the button is interactable. Default is true.
isLoading bool Shows a loading indicator if set to true. Default is false.
loadingIndicator Widget? Custom widget to show as the loading indicator. Defaults to CircularProgressIndicator().
loadingColor Color? Color of the loading indicator if isLoading is set to true. Defaults to null.

Example Use Case

Here is an example showcasing how to use ImageButton in a practical scenario:

import 'package:flutter/material.dart';
import 'package:imagebutton/imagebutton.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text("ImageButton Example")),
        body: Center(
          child: ImageButton(
            child: Row(
              children: [
                Icon(Icons.thumb_up, color: Colors.white),
                SizedBox(width: 5),
                Text("Like", style: TextStyle(color: Colors.white))
              ],
            ),
            width: 120,
            height: 50,
            pressedImage: Image.asset("assets/button_pressed.png"),
            unpressedImage: Image.asset("assets/button_unpressed.png"),
            isLoading: false,
            onTap: () {
              print("Button Pressed");
            },
          ),
        ),
      ),
    );
  }
}

Example Animation

Below is an example animation of the ImageButton in action:

Example Animation


Contributions

Contributions are welcome! Feel free to fork the repository and submit a pull request for any enhancements or bug fixes.


License

This project is licensed under the MIT License. See the LICENSE file for details.

Version Two s.r.o. GitHub avatar
GitHub 作者

Version Two s.r.o. ↗

Version Two - Digital advertising agency focusing on web and mobile app development

Bratislava, Slovakia公式サイト ↗
言語DartKotlinSwiftRubyObjective-C

カテゴリー

このリポジトリが公開するパッケージ

使用している依存関係

依存関係一覧 3 件

  • flutter{"sdk":"flutter"}
  • flutter_test開発用{"sdk":"flutter"}
  • flutter_lints開発用^2.0.0

プロジェクトに合うリポジトリを選ぶには?

用途で絞り込み、開発状況を比較し、採用前に元のリポジトリで要件を確認しましょう。

  1. 名前・作者・説明で検索し、技術トピックで絞り込みます。
  2. スター、フォーク、最近のプッシュを比較します。スターは関心の目安であり、品質の保証ではありません。
  3. 利用前に GitHub で README、ライセンス、Issues を確認します。

情報源と管理

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗