Ответы пользователя по тегу Android
  • Не могу изменить цвет надписи на тулбаре?

    a13xsus
    @a13xsus
    Lazy developer
    toolbar.setTitleTextColor(0xFFFFFFFF);

    или

    toolbar.setTitleTextColor(android.graphics.Color.WHITE);


    или через styles.xml добавляете итем в стиль для AppCompat

    <item name="android:textColorPrimary">TITLE_COLOR_GOES_HERE</item>


    или добавьте в xml в тег toolbar'a

    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/oolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>


    Будет работать для API > 21 либо если используете AppCompat библиотеки.
    Ответ написан
    2 комментария
  • Как в adb shell отображать вывод команды top одним экраном?

    a13xsus
    @a13xsus Автор вопроса
    Lazy developer
    Нашел решение -- использовать top из busybox (без необходимости рута). Ставим последний busybox, затем в терминале

    busybox top
    Ответ написан
    Комментировать
  • DrawerLayout - Fragment || Activity?

    a13xsus
    @a13xsus
    Lazy developer
    А сами как думаете? Конечно с фрагментами обычно делают.
    Ответ написан
  • Как запретить вернуться в прошлое activity и удалить его из памяти?

    a13xsus
    @a13xsus
    Lazy developer
    startActivity(newActivity);
    finish();
    Ответ написан
    Комментировать
  • Как определить оптимальную цену за доступ к микрофункциям приложения?

    a13xsus
    @a13xsus
    Lazy developer
    Тут не цену определять надо, а менять модель монетизации этой функции. Покупать на 4-8 часов или опцию, которая будет включать сама на неделю в назначенное время (какого х?я) -- нахер ни кому не надо и неудобно.
    Ответ написан
    2 комментария
  • Можно ли создавать приложение для Android на C#?

    a13xsus
    @a13xsus
    Lazy developer
    Странный вопрос, учитывая, что в тегах вы уже отметили Xamarin. Конечно можно. Либо в Xamarin Studio либо в Xamarin for Visual Studio. Разумеется на С#. Довольно нативное и производительное приложение получается, весь функционал джавы доступен в c#.

    Но целесообразней учить C# и писать кроссплатформенные приложения (Android, iOS, WP). Xamarin для этого и задуман.
    Ответ написан
    3 комментария
  • В чем может быть проблема с темой в android?

    a13xsus
    @a13xsus
    Lazy developer
    colorAccent, colorPrimary, colorPrimaryDark -- это опции AppCompat темы для андроид 5 и выше, либо для младших версий с использованием support library v7.

    Подключаете суппорт либы, в values\styles.xml пишете что-то типа:

    <style name="MyTheme" parent="MyTheme.Base">
    
     </style>
      <!-- Base theme applied no matter what API -->
      <style name="MyTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Set theme colors from http://www.google.com/design/spec/style/color.html#color-color-palette-->
        <!-- colorPrimary is used for the default action bar background -->
        <item name="colorPrimary">@color/primary</item>
        <!-- colorPrimaryDark is used for the status bar -->
        <item name="colorPrimaryDark">@color/primaryDark</item>
        <!-- colorAccent is used as the default value for colorControlActivated
             which is used to tint widgets -->
        <item name="colorAccent">@color/accent</item>
         <!-- You can also set colorControlNormal, colorControlActivated
             colorControlHighlight and colorSwitchThumbNormal. -->
      </style>


    а в values\colors.xml уже определяете цвета:

    <?xml version="1.0" encoding="UTF-8" ?>
    <resources>	
    	<color name="primary">#607D8B</color>
    	<color name="primaryDark">#455A64</color>
    	<color name="accent">#FE4564</color>   
    </resources>


    И разумеется наследуем активити от AppCompatActivity

    public class MainActivity extends AppCompatActivity {
      // ...
    }


    И в манифесте указываем использовать тему. В моем примере это MyTheme.

    <application android:allowBackup="true" android:icon="@mipmap/icon" android:label="@string/app_name" android:theme="@style/MyTheme"></application>
    Ответ написан
  • NavigationDrawer в каждом activity надо новый создавать?

    a13xsus
    @a13xsus
    Lazy developer
    Либо используйте фрагменты, либо т.н. BaseActivity. Создаете класс с базовой активити, его наследуете в остальных. Пример с BaseActivity можно подсмотреть здесь.
    Ответ написан
    Комментировать
  • Как переключаться между акстивити с уничтожением первого?

    a13xsus
    @a13xsus
    Lazy developer
    startActivity(intent);
    finish();


    либо в зависимости от желаемой навигации использовать флаги, например FLAG_ACTIVITY_CLEAR_TOP

    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);


    Подробнее здесь https://developer.android.com/guide/components/tas...
    Ответ написан
    Комментировать
  • Какой самый приватный мессенджер?

    a13xsus
    @a13xsus
    Lazy developer
    По приоритету я бы составил список так:
    Antox (Android), Antidote (iOS) - клиенты Tox https://tox.chat/clients.html
    Threema, Signal, Telegram, Whatsapp (правда здесь вы светите свой мобильный номер).
    Viber уже тоже end-to-end шифрование ввёл.
    Ответ написан
    1 комментарий
  • Отправка Email через Android. Intent?

    a13xsus
    @a13xsus
    Lazy developer
    Попробуйте через setData передавать адрес получателя и без использования setType("message/rfc822");
    Мой код на С#, в Java вроде то же самое, только имена классов и методов со строчных букв начинаются.
    string contactsMailmain = contacts_mail.Text;
    string subject = "Subject";
    
                    try
                    {
                        Intent contactintent = new Intent(Intent.ActionSendto); // экшн без вложений
                        contactintent.SetData(Android.Net.Uri.Parse("mailto:" + contactsMailmain));
                        contactintent.PutExtra(Intent.ExtraSubject, subject);
                        contactintent.PutExtra(Intent.ExtraText, name + "\n" + phone );                    
                        StartActivity(contactintent);
    
                    }
                    catch (ActivityNotFoundException anfe)
                    {
                        NoActivityAlert();
                    }


    У меня так и всё работает (с)
    Ответ написан
    7 комментариев
  • Как в navigationView запретить изменение цвета текста для отдельных menu item?

    a13xsus
    @a13xsus Автор вопроса
    Lazy developer
    Вижу как вариант — в navigationView.NavigationItemSelected() принудительно писать navigationView.Menu.FindItem(Resource.Id.nav_switch).SetChecked(false);

    В принципе так нормально, но не костыль ли это?
    Ответ написан
    Комментировать
  • Как получить доступ к текстовым полям в шапке боковой панели?

    a13xsus
    @a13xsus
    Lazy developer
    Нужно сначала получить navigationView.GetHeaderView. Затем в хедере искать этот TextView. На Java перепишите, приведу пример с С#:
    NavigationView navigationView:
    navigationView = FindViewById<NavigationView>(Resource.Id.nav_view);
                View header = navigationView.GetHeaderView(0);
                TextView navheader_text = header.FindViewById<TextView>(Resource.Id.navheader_text);
                navheader_text.Text = "New text";


    stackoverflow.com/questions/33999407/how-to-set-te...
    Ответ написан
    Комментировать
  • Получаем ROOT на ASUS Zenfone 5 c Android 4.4.2 KitKat?

    a13xsus
    @a13xsus
    Lazy developer
    Путь к adb пропишите в системной переменной PATH, либо в bat-файле укажите полный путь к нему. К fastboot также.

    А вообще, чтобы этого не делать, то в cmd внимательно меняйте текущие каталоги (cd) -- они должны совпадать с теми, где находится текущий скрипт.
    Ответ написан
    Комментировать
  • Android. Как убрать этот отступ?

    a13xsus
    @a13xsus
    Lazy developer
    так на вскидку сложно сказать точно, вероятно смещение от топа у RecyclerView на 10dp + 4 dp от родителя RelativeLayout

    <ru.redo.steamlucky.ui.view.InventoryRecyclerView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:id="@+id/inventory_list"
                    android:background="@drawable/timer_background"
                    android:layout_marginTop="10dp"
                    android:padding="4px"/>
    Ответ написан
    1 комментарий
  • Как стримить экран планшета Android на ПК?

    a13xsus
    @a13xsus
    Lazy developer
    Vysor (плагин для Хрома), но нужен провод, adb драйвера и отладка по USB.
    Reflector www.airsquirrels.com/reflector беспроводной стриминг средствами Google Cast, работает в одной WIFI сети.
    Ответ написан
    Комментировать
  • Как задать размер через setWidth в dp?

    a13xsus
    @a13xsus
    Lazy developer
    Храните размерности в XML файле.

    В зависимости от того, нужна ли конвертация в пиксели:

    final float item3widthinPixels= mActivity.getResources().getDimensionPixelSize(R.dimen.item3width);
    item3.setWidth(item3widthinPixels);

    либо
    final float item3widthinPixels= mActivity.getResources().getDimension(R.dimen.item3width);
    item3.setWidth(item3widthinPixels);

    dimen.xml:
    <dimen name="item3width">100dp</dimen>
    Ответ написан
    Комментировать
  • Android от куда alias?

    a13xsus
    @a13xsus
    Lazy developer
    Alias для ключей -- это лишь удобное для вас название генерируемого сертификата, которое указывает на данный сертификат (ключ). Можете указать любое. Приватный ключ генерируется на основе других данных и знание самого алиаса ничего другим не даст, они даже могут совпадать. Вы можете создавать сертификаты для каждого приложения и называть их удобными для вас алиасами, либо иметь один сертификат для всех приложений. Но одно и то же приложение (и все его обновления) необходимо подписывать одним ключом.
    Ответ написан
    Комментировать
  • Какие есть фреймворки для разработки приложений под android?

    a13xsus
    @a13xsus
    Lazy developer
    Xamarin - C#, для кроссплатформенной разработки. Большой фреймворк, практически нативные приложения. Умеет ну практически всё, а может и совсем всё.
    PhoneGap (Apache Cordova) - JavaScript, HTML5, CSS3, приложения под все мобильные ОС, в т.ч. Tizen и FirefoxOS.
    FireMonkey - гуи-фреймворк в IDE Delphi (XE2, XE3, RAD Studio).
    Corona SDK - кроссплатформенные игры на Lua.

    С остальными ознакомится можно, например, здесь.
    Ответ написан
    2 комментария
  • Как сделать такую же кнопку в своем дизайне?

    a13xsus
    @a13xsus
    Lazy developer
    Это Floating Action Button. Да, вы можете обернуть свой xml в CoordinatorLayout и вместе с ним использовать кнопку. Делается достаточно легко с помощью support library. Достаточно понятно описано здесь:
    stackoverflow.com/questions/24459352/how-can-i-add...

    Подробнее:

    1. Подключаем support library к проекту. Я разрабатываю в xamarin, но в андроид студии к gradle нужно добавить что-то вроде: compile 'com.android.support:design:23.1.1'

    2. Оборачиваем весь ваш xml таким образом:

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#cccccc"
        android:id="@+id/rel_layout">
    
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="300dp"
            android:scaleType="centerCrop"
    
            android:id="@+id/tv_movie_item_img360"
            android:transitionName="selectedMovie"/>
    
        <View
            android:layout_width="match_parent"
            android:layout_height="300dp"
            android:background="#000000"
            android:alpha="0.3" />
    
        <com.makeramen.roundedimageview.RoundedImageView
            android:layout_width="100dp"
            android:layout_height="130dp"
    
            android:scaleType="centerCrop"
            app:riv_border_width="2dip"
            app:riv_border_color="#ffffff"
            android:layout_marginStart="14dp"
            android:id="@+id/tv_movie_item_img"
            android:layout_alignParentTop="true"
            android:layout_alignParentStart="true"
            android:layout_marginTop="240dp" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="The Revenant"
            android:id="@+id/tv_movie_item_nameRU"
            android:singleLine="true"
            android:layout_marginLeft="10dp"
            android:textSize="20sp"
            android:textColor="#ffffff"
            android:layout_alignBottom="@+id/tv_movie_item_img360"
            android:layout_toEndOf="@+id/tv_movie_item_img"
            android:layout_marginBottom="10dp" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceSmall"
            android:text="&quot;While exploring the uncharted wilderness in 1823, frontiersman Hugh Glass (Leonardo DiCaprio) sustains life-threatening injuries from a brutal bear attack."
            android:id="@+id/tv_movie_item_details"
            android:layout_marginLeft="10dp"
            android:paddingRight="10dp"
            android:textSize="12sp"
            android:layout_marginTop="5dp"
            android:layout_below="@+id/tv_movie_item_img360"
            android:layout_toEndOf="@+id/tv_movie_item_img" />
    
        <ExpandableListView
            android:id="@+id/exListView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_below="@+id/tv_movie_item_details"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true">
        </ExpandableListView>
    
    </RelativeLayout>
        <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="16dp"
            android:clickable="true"
            android:src="@drawable/ic_forum"
            app:layout_anchor="@id/tv_movie_item_img360"
            app:layout_anchorGravity="bottom|right|end" />
    </android.support.design.widget.CoordinatorLayout>


    app:layout_anchor="@id/tv_movie_item_img360" -- здесь указываем view, к которому нужно пристыковаться кнопке (снизу)

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

    FloatingActionButton myFab = (FloatingActionButton) myView.findViewById(R.id.fab); 
    myFab.setOnClickListener(new View.OnClickListener() { 
        public void onClick(View v) { 
            doMyThing(); 
        } 
    });
    Ответ написан
    8 комментариев