Форум программистов, компьютерный форум CyberForum.ru

Библиотеки поддержки - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Объединить два SDK http://www.cyberforum.ru/android-dev/thread1773927.html
Здравствуйте! На днях переустановил систему. Потом поставил Android Studio Bundle и он автоматически установил Android SDK в Username/appadata/local/android/sdk Потом поставил Visual Studio. Тот установил SDK в C/Program files/android/sdk Я уже скачал для того, что в App Data все необходимое, но сейчас понял, что держать его там не очень удобно. Как лучше перенести все скачанное в Program...
Программирование Android Как использовать чужую библиотеку есть вот эта библиотека https://github.com/felipecsl/AsymmetricGridView в описании написано что делать, но не написано куда поместить саму библиотеку и какие именно файлы/папки скидывать также, там написано в layout xml написать вот это <com.felipecsl.asymmetricgridview.library.widget.AsymmetricGridView xmlns:android="http://schemas.android.com/apk/res/android" ... http://www.cyberforum.ru/android-dev/thread1773901.html
Как протестировать android 5.0.2 в Android Studio? Программирование Android
В SDK вижу только 5.0.1 (API 21) и 5.1.1 (API 22). А моё приложение крашится на телефонах с 5.0.2, а на остальных работает нормально. Как мне протестировать на 5.0.2 ?
Программирование Android Unable to create debug bridge unable to start adb server
Хочу отлаживать с телефона, не получается подцепиться к телефону. Телефон HTC. HTC Sync поставил, вроде драва встали норм. Что еще надо?
Программирование Android LeakCanary http://www.cyberforum.ru/android-dev/thread1773797.html
Подключаю LeakCanary в build.gradle debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2' releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2' testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2' В Application import android.app.Application; import com.squareup.leakcanary.LeakCanary;
Программирование Android Android build tools на 32-разрядной машине Запарился гуглить, уже не знаю, в какие слова запрос облечь. Столько в жизни не матерился. У меня 32-разрядная убунту. Вот какой смысл распространять 32-хразрядную студию с инструментами, которые могут работать только на 64-хразрядной машине? Можно где-то вообще найти build-tools для старых компов? platform-tools я нашел, а мне нужны еще aapt и dx. Я бы не писал сюда, но уже реально бомбит.... подробнее

Показать сообщение отдельно
Ivaner00
0 / 0 / 0
Регистрация: 19.09.2015
Сообщений: 35
01.07.2016, 12:11  [ТС]     Библиотеки поддержки
Разметка табов
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:background="@color/green_dark">
 
    <LinearLayout
        android:id="@+id/planner_tab"
        style="@style/CrmTab">
 
        <ImageView
            android:tag="@string/icon"
            android:src="@drawable/ic_planner_36dp"
            android:layout_width="@dimen/crm_tab_icon_size"
            android:layout_height="@dimen/crm_tab_icon_size" />
 
        <com.sequenia.lampyris.widgets.ModernhBoldTextView
            android:tag="@string/text"
            android:layout_width="wrap_content"
            android:gravity="center"
            style="@style/TextView.CrmTab"
            android:text="@string/planner_tab" />
 
    </LinearLayout>
 
    <LinearLayout
        android:id="@+id/contacts_tab"
        style="@style/CrmTab">
 
        <ImageView
            android:tag="@string/icon"
            android:src="@drawable/ic_review_36dp"
            android:layout_width="@dimen/crm_tab_icon_size"
            android:layout_height="@dimen/crm_tab_icon_size" />
 
        <com.sequenia.lampyris.widgets.ModernhBoldTextView
            android:tag="@string/text"
            android:layout_width="wrap_content"
            android:gravity="center"
            style="@style/TextView.CrmTab"
            android:text="@string/analytics" />
 
    </LinearLayout>
 
    <LinearLayout
        android:id="@+id/stage_tab"
        style="@style/CrmTab">
 
        <ImageView
            android:tag="@string/icon"
            android:src="@drawable/ic_contacts_36dp"
            android:layout_width="@dimen/crm_tab_icon_size"
            android:layout_height="@dimen/crm_tab_icon_size" />
 
        <com.sequenia.lampyris.widgets.ModernhBoldTextView
            android:tag="@string/text"
            android:layout_width="wrap_content"
            android:gravity="center"
            style="@style/TextView.CrmTab"
            android:text="@string/contacts" />
 
    </LinearLayout>
 
    <LinearLayout
        android:id="@+id/calendar_tab"
        style="@style/CrmTab">
 
        <ImageView
            android:tag="@string/icon"
            android:src="@drawable/ic_calendar_36dp"
            android:layout_width="@dimen/crm_tab_icon_size"
            android:layout_height="@dimen/crm_tab_icon_size" />
 
        <com.sequenia.lampyris.widgets.ModernhBoldTextView
            android:tag="@string/text"
            android:layout_width="wrap_content"
            android:gravity="center"
            style="@style/TextView.CrmTab"
            android:text="@string/calendar" />
 
    </LinearLayout>
 
</LinearLayout>
Код табов
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
package com.sequenia.lampyris.widgets;
 
import android.content.Context;
import android.graphics.PorterDuff;
import android.opengl.Visibility;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
 
import com.sequenia.lampyris.activities.MainActivity;
import com.sequenia.lampyris.fragments.EmailFragment;
import com.sequenia.lampyris.fragments.MainCrmFragment;
import com.sequenia.lampyris.helpers.ActivityHelper;
import com.sequenia.lampyris.navigation.NavigationActivity;
import com.sequenia.lampyris.navigation.PlaceholderFragment;
import com.sequenia.myapplication.R;
 
import java.util.Stack;
 
/**
 * Created by chybakut2004 on 16.10.15.
 *
 * Табы главного экрана CRM
 */
public class CrmTabs extends LinearLayout {
 
    private NavigationActivity activity;
    private int fragmentType;
 
    private static final String TAG_SELECTED = "selected";
    private static final String TAG_NOT_SELECTED = "not_selected";
 
    private View taskButton;
    private View homeButton;
    private View contactsButton;
    private View calendarButton;
 
    public CrmTabs(Context context) {
        super(context);
        init();
    }
 
    public CrmTabs(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }
 
    private void resetTagButtons(){
        taskButton.setTag(TAG_NOT_SELECTED);
        homeButton.setTag(TAG_NOT_SELECTED);
        contactsButton.setTag(TAG_NOT_SELECTED);
        calendarButton.setTag(TAG_NOT_SELECTED);
    }
 
    private void setTagSelected(View button){
        button.setTag(TAG_SELECTED);
    }
 
    private void selectButton(View button){
        button.setBackgroundColor(getResources().getColor(R.color.almost_white));
        ImageView icon = (ImageView)button.findViewWithTag(getResources().getString(R.string.icon));
        TextView text = (TextView)button.findViewWithTag(getResources().getString(R.string.text));
        icon.getDrawable().setColorFilter(getResources().getColor(R.color.green_dark), PorterDuff.Mode.SRC_IN);
        text.setTextColor(getResources().getColor(R.color.green_dark));
    }
 
    private void resetButton(View button){
        button.setBackgroundColor(0);
        ImageView icon = (ImageView)button.findViewWithTag(getResources().getString(R.string.icon));
        TextView text = (TextView)button.findViewWithTag(getResources().getString(R.string.text));
        icon.clearColorFilter();
        text.setTextColor(getResources().getColor(R.color.almost_white));
    }
 
    private void resetButtons()
    {
        resetButton(homeButton);
        resetButton(taskButton);
        resetButton(calendarButton);
        resetButton(contactsButton);
    }
 
    private void updateButtons(){
        resetButtons();
        switch (fragmentType){
            case ActivityHelper.SECTION_CALENDAR:
                selectButton(calendarButton);
                break;
            case ActivityHelper.SECTION_TODAY:
                selectButton(taskButton);
                break;
            case ActivityHelper.SECTION_ANALYTICS:
                selectButton(contactsButton);
                break;
            case ActivityHelper.SECTION_CRM_MAIN:
                selectButton(homeButton);
                break;
        }
    }
 
    private void init() {
        LayoutInflater inflater = (LayoutInflater) getContext()
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        inflater.inflate(R.layout.elem_crm_tabs, this, true);
 
        taskButton = findViewById(R.id.planner_tab);
        taskButton.setTag(TAG_NOT_SELECTED);
 
        homeButton = findViewById(R.id.stage_tab);
        homeButton.setTag(TAG_SELECTED);
 
        contactsButton = findViewById(R.id.contacts_tab);
        contactsButton.setTag(TAG_NOT_SELECTED);
 
        calendarButton = findViewById(R.id.calendar_tab);
        calendarButton.setTag(TAG_NOT_SELECTED);
 
        contactsButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                if(activity != null) {
                    activity.addSubFragment(activity.newFragmentInstance(ActivityHelper.SECTION_ANALYTICS));
                }
            }
        });
 
        taskButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                if(activity != null) {
                    activity.addSubFragment(activity.newFragmentInstance(ActivityHelper.SECTION_TODAY));
                }
            }
        });
 
        homeButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                Stack<PlaceholderFragment> stack = activity.getFragmentStack();
 
                if(stack.size() == 1) {
                    PlaceholderFragment lastFragment = stack.lastElement();
 
                    // Сбросить фильтры, если нажали на кнопку Главная на главном экране
                    if(lastFragment instanceof MainCrmFragment) {
                        ((MainCrmFragment) lastFragment).clearFilter();
                    }
                }
 
                while(stack.size() > 1) {
                    activity.onBackPressed();
                }
            }
        });
 
        calendarButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {;
                ActivityHelper.showCalendar(activity);
            }
        });
    }
 
    public void setActivity(NavigationActivity activity, int fragmentType) {
        this.activity = activity;
        this.fragmentType = fragmentType;
        updateButtons();
    }
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru