django 按钮的样式_GitHub - ADjango/DialogUtils: material风格,ios风格,传入context构建,在任意界面弹出,以及dialog样式的activity...

Deprecated

DialogUtils

material风格,ios风格,传入context构建,可在任意界面弹出,以及dialog样式的activity(todo)

特性

传入context和activity均可弹出dialog

样式包括常用的ios风格dialog和meterial design风格的dialog.

考虑了显示内容超多时的滑动和与屏幕的间隙.

示例图

normaldialog.png

material.png

ios_alert.png

ios_vertical.png

ios_alert_2btn.png

ios_bottom_sheet.png

ios_center_sheet.png

useage

gradle

Step 1. Add the JitPack repository to your build file

Add it in your root build.gradle at the end of repositories:

allprojects {

repositories {

...

maven { url "https://jitpack.io" }

}

}

Step 2. Add the dependency

dependencies {

compile 'com.github.glassLake:DialogUtils:1.0.2'

}

示例代码

//通过普通的activity 弹出进度条(转圈圈)

StytledDialog.showProgressDialog(this,msg,true,true);

//通过context弹出进度条

gloablDialog= StytledDialog.showProgressDialog(getApplicationContext(),msg,true,true);

//meterial design 样式的alertdialog:

StytledDialog.showMdAlert(this, "title", msg, "sure", "cancle", "think about", true, true, new MyDialogListener() {

@Override

public void onFirst(DialogInterface dialog) {

showToast("onFirst");

}

@Override

public void onSecond(DialogInterface dialog) {

showToast("onSecond");

}

@Override

public void onThird(DialogInterface dialog) {

showToast("onThird");

}

});

//ios样式的提示框:( StytledDialog.showIosAlertVertical(...)为按钮竖直方向上排列的对话框)

StytledDialog.showIosAlert(this, "title", msg, "sure", "cancle", "think about", true, true, new MyDialogListener() {

@Override

public void onFirst(DialogInterface dialog) {

showToast("onFirst");

}

@Override

public void onSecond(DialogInterface dialog) {

showToast("onSecond");

}

@Override

public void onThird(DialogInterface dialog) {

showToast("onThird");

}

});

//底部弹出的带或不带取消按钮的弹窗

final List strings = new ArrayList<>();

strings.add("1");

strings.add("2");

strings.add(msg);

StytledDialog.showBottomItemDialog(activity, strings, "cancle", true, true, new MyItemDialogListener() {

@Override

public void onItemClick(String text,int position) {

showToast(text);

}

@Override

public void onBottomBtnClick() {

showToast("onItemClick");

}

});}

//中间弹出的条目弹窗

final List strings = new ArrayList<>();

strings.add("1");

strings.add("2");

strings.add(msg);

StytledDialog.showIosSingleChoose(activity, strings, true, true, new MyItemDialogListener() {

@Override

public void onItemClick(String text,int position) {

showToast(text);

}

@Override

public void onBottomBtnClick() {

showToast("onItemClick");

}

});

context弹出dialog注意事项

弹出后对后退键的响应需要自己写代码:

Dialog gloablDialog;//用一个统一的变量名存引用

@Override

public void onBackPressed() {

if (gloablDialog != null && gloablDialog .isShowing()){

gloablDialog.dismiss();

}else {

super.onBackPressed();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
我想将frontend 也是用volumes,将其映射到/app/frontend目录,在/app/frontend下install以及build,如何实现 docker-compose.yml文件: version: '3' services: frontend: build: context: ./frontend dockerfile: Dockerfile ports: - 8010:80 restart: always backend: build: context: ./backend dockerfile: Dockerfile volumes: - /app/backend:/app environment: - CELERY_BROKER_URL=redis://redis:6379/0 command: python manage.py runserver 0.0.0.0:8000 ports: - 8011:8000 restart: always celery-worker: build: context: ./backend dockerfile: Dockerfile volumes: - /app/backend:/app environment: - CELERY_BROKER_URL=redis://redis:6379/0 command: celery -A server worker -l info --pool=solo --concurrency=1 depends_on: - redis - backend restart: always celery-beat: build: context: ./backend dockerfile: Dockerfile volumes: - /app/backend:/app environment: - CELERY_BROKER_URL=redis://redis:6379/0 command: celery -A server beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler depends_on: - redis - backend restart: always redis: image: redis:latest ports: - 6379:6379 restart: always mysql: image: mysql:latest environment: - MYSQL_ROOT_PASSWORD=sacfxSql258147@ ports: - 8016:3306 volumes: - ./mysql:/var/lib/mysql restart: always frontend:dockerfile文件 FROM node:16.18.1 WORKDIR /app/frontend COPY package*.json ./ RUN npm install COPY . . RUN npm run build:prod FROM nginx:latest COPY --from=0 /app/frontend/dist/ /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
07-14
要将前端的代码映射到容器内的`/app/frontend`目录,并在容器内进行安装和构建,可以通过在`docker-compose.yml`文件中为`frontend`服务添加一个卷来实现。更新后的`docker-compose.yml`文件如下所示: ```yaml version: '3' services: frontend: build: context: ./frontend dockerfile: Dockerfile ports: - 8010:80 volumes: - ./frontend:/app/frontend restart: always backend: build: context: ./backend dockerfile: Dockerfile volumes: - /app/backend:/app environment: - CELERY_BROKER_URL=redis://redis:6379/0 command: python manage.py runserver 0.0.0.0:8000 ports: - 8011:8000 restart: always celery-worker: build: context: ./backend dockerfile: Dockerfile volumes: - /app/backend:/app environment: - CELERY_BROKER_URL=redis://redis:6379/0 command: celery -A server worker -l info --pool=solo --concurrency=1 depends_on: - redis - backend restart: always celery-beat: build: context: ./backend dockerfile: Dockerfile volumes: - /app/backend:/app environment: - CELERY_BROKER_URL=redis://redis:6379/0 command: celery -A server beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler depends_on: - redis - backend restart: always redis: image: redis:latest ports: - 6379:6379 restart: always mysql: image: mysql:latest environment: - MYSQL_ROOT_PASSWORD=sacfxSql258147@ ports: - 8016:3306 volumes: - ./mysql:/var/lib/mysql restart: always ``` 这样,将会把本地的`./frontend`目录映射到容器内的`/app/frontend`目录。然后,在容器内部构建过程中,使用`/app/frontend`目录中的代码进行安装和构建。 请注意,这里假设`docker-compose.yml`文件和`frontend`目录在同一级目录下。如果不是,请相应调整`volumes`中的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值