datatables.net: вынос кнопок экспорта в любое место

Задача: задать местоположение кнопок экспорта, назначить им собственный стиль

Решение:

var buttons = new $.fn.dataTable.Buttons(table, {
         buttons: [
        { text:"Excel",extend: 'excel', className: 'excel_export_style',
            init: function(api, node, config) {
             $(node).removeClass('btn btn-secondary')
            }
    },
        { text:"Print",extend: 'print', className: 'print_export_style',
            init: function(api, node, config) {
                $(node).removeClass('btn btn-secondary')            
            }
        }
      ]
    }).container().appendTo($('#export_buttons'));

Android Studio: запрос разрешений с пояснениями

Хорошим тоном считается при запуске приложения если нужны какие-то разрешения, предварительно рассказывать, зачем они собственно приложению нужны. Реализовать это можно например вот так:


        if (ContextCompat.checkSelfPermission(mycontext, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED){
            AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
            builder.setTitle("Местоположение");
            builder.setMessage("Для того чтобы приложение правильно рассчитывало расстояние до ЭЗС вам нужно предоставить доступ к геолокации. Разрешить доступ?").setCancelable(true).setPositiveButton("Да, разрешить",
                    new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int id) {
                            checkPermission(Manifest.permission.ACCESS_FINE_LOCATION, 100);
                            checkPermission(Manifest.permission.ACCESS_COARSE_LOCATION, 101);
                            checkPermission(Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, 102);
                            StartInterface();
                        }
                    })
                    .setNegativeButton("Нет,запретить",
                            new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int id) {
                                    StartInterface();
                                }
                            });
            AlertDialog alert = builder.create();
            alert.show();
        } else {
            StartInterface();
        };

Android Studio: белый экран на пару секунд при «холодном старте» приложения

Проблема: при холодном старте приложения, возникает «белый экран». Не очень красиво выглядит. Чаще всего это возникает когда в стартующеё активити, в onCreate очень много всего положено. И не всегда можно от туда это всё вынять.

Решение: в основной стиль приложения добавим строчку, которая фоном установит картинку вместо «белого экрана»:

        <item name="android:windowBackground">@drawable/welcome_android</item>
<item name="android:windowFullscreen">true</item>

Краткое выделение всей строчки при клике в radiobutton

Проблема обнаруживается в webview приложений на android. А именно, если где-то в коде есть radiobutton обёрнутый чем угодно, то при клике по нему, кратковременно (на долю секунды) выделяется вся строчка целиком.

Решение: достаточно добавить в стилевое оформление этого элемента cursor:default

Update: достаточно применить к body -webkit-tap-highlight-color: rgba(255, 255, 255, 0);

1 77 78 79 80 81 310