С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
ILNAR_93
Android
234 / 234 / 25
Регистрация: 19.01.2013
Сообщений: 1,765
Записей в блоге: 3
#1

Посоветуйте как реализовать разметку - Программирование Android

06.07.2016, 15:37. Просмотров 413. Ответов 21
Метки нет (Все метки)

Пример приложения ВК Посоветуйте как реализовать разметку


Есть может библиотеки готовые? В идеале нужно что то типа https://github.com/mikepenz/MaterialDrawer но не в боковом меню, а в лаяуте фрагмента.. Есть такое? Или самому писать? _
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2016, 15:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Посоветуйте как реализовать разметку (Программирование Android):

Подскажите как сделать разметку - Программирование Android
Доброго, помогите с разметкой главного экрана как на картинке, нужно именно так, просто в андроид Студио у меня не получается

Как добавить SurfaceView в разметку - Программирование Android
Здравствуйте! Я не понял, как использовать SurfaceView кроме как setContentView(new surfaceview(this)); Моя разметка: <?xml...

Как сдвинуть разметку относительно клавиатуры - Программирование Android
Всем привет. Ситуация такая, есть разметка, в ней пару полей и кнопка, вообщем ничего особенного, но на некоторых девайсах клавиатуры...

Как сделать разметку для страницы на android - Программирование Android
Как сделать разметку для страницы на android на подобии этого примера.

Как использовать свою разметку для ListFragment? - Программирование Android
Всех с праздниками. Подскажите как использовать (какую лучше) свою разметку для ListFragment?

Подскажите как сделать разметку для разных экранов - Программирование Android
У меня есть recyclerview в него устанавливается GridLayoutManager в 3 колонки, есть разметка itemа для этого списка. Item внутри себя...

21
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,072
Завершенные тесты: 1
06.07.2016, 16:04 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
почему не сделать так?
Посоветуйте как реализовать разметку
1. разметка активити с NavigationView внутри CardView
Кликните здесь для просмотра всего текста
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="#fefefe"
    android:orientation="vertical">
 
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:title="@string/app_name"
        app:titleTextColor="#fff" />
 
    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp">
 
        <android.support.design.widget.NavigationView
            android:id="@+id/navView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:menu="@menu/popup_menu1" />
 
    </android.support.v7.widget.CardView>
 
</LinearLayout>

2. просто любое меню с иконками
Кликните здесь для просмотра всего текста
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
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
 
    <group android:id="@+id/group1">
        <item
            android:title="Title"
            app:showAsAction="always" />
    </group>
 
    <item
        android:icon="@drawable/ic_tab_books"
        android:title="Item 1"
        app:showAsAction="always" />
    <item
        android:icon="@drawable/ic_tab_movies"
        android:title="Item 2"
        app:showAsAction="always" />
    <item
        android:icon="@drawable/bookmarks"
        android:title="Item 3"
        app:showAsAction="always" />
    <item
        android:icon="@drawable/ic_folder"
        android:title="Item 4"
        app:showAsAction="always" />
    <item
        android:icon="@drawable/ic_hamburger"
        android:title="Item 5"
        app:showAsAction="always" />
 
</menu>

3. PROFIT

Title задается как group в меню
плюсы - не нужно вообще ничего писать, кроме одной строчки - все идет из коробки - стили, отступы, цвета, слушатель тот же что и на менюшке
если надо что-то не стандартное то делается свое View и назначается в xml разметке ресурса меню как actionView
1
ILNAR_93
Android
234 / 234 / 25
Регистрация: 19.01.2013
Сообщений: 1,765
Записей в блоге: 3
06.07.2016, 16:12  [ТС] #3
Паблито, На первый взгляд это как раз что и надо Спасибо! Сейчас попробую скопировать )

Добавлено через 4 минуты
Цитата Сообщение от Паблито Посмотреть сообщение
почему не сделать так?
Не знал
0
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,072
Завершенные тесты: 1
06.07.2016, 16:14 #4
вот еще придумал, вместо group в меню можно использовать header в NavigationView
карточка из разметки активити
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp">
 
        <android.support.design.widget.NavigationView
            android:id="@+id/navView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:headerLayout="@layout/header"
            app:menu="@menu/popup_menu1" />
 
    </android.support.v7.widget.CardView>
менюшка старая, но удалить group из нее

и файл header.xml
XML
1
2
3
4
5
6
7
8
9
10
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
    android:textColor="@color/colorPrimary"
    android:paddingTop="16dp"
    android:paddingLeft="16dp"
    android:text="Ololo title" />
PROFIT
Посоветуйте как реализовать разметку
1
ILNAR_93
Android
234 / 234 / 25
Регистрация: 19.01.2013
Сообщений: 1,765
Записей в блоге: 3
21.02.2017, 10:09  [ТС] #5
А что это такое? Все как описано делаю..
0
Миниатюры
Посоветуйте как реализовать разметку  
ExFau$t
372 / 358 / 75
Регистрация: 08.05.2012
Сообщений: 1,806
21.02.2017, 10:17 #6
По всей видимости это хедер и есть.
0
ILNAR_93
Android
234 / 234 / 25
Регистрация: 19.01.2013
Сообщений: 1,765
Записей в блоге: 3
21.02.2017, 10:28  [ТС] #7
ExFau$t, на скриншоте без хедера, я убрал его. С ним и без него все ровно этот бордер
0
ExFau$t
372 / 358 / 75
Регистрация: 08.05.2012
Сообщений: 1,806
21.02.2017, 10:44 #8
Давай разметку.
0
ILNAR_93
Android
234 / 234 / 25
Регистрация: 19.01.2013
Сообщений: 1,765
Записей в блоге: 3
21.02.2017, 11:30  [ТС] #9
Фрагмент:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp">
 
        <android.support.design.widget.NavigationView
            android:id="@+id/navView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:headerLayout="@layout/menu_header"
            app:menu="@menu/settings_menu" />
 
    </android.support.v7.widget.CardView>
 
</LinearLayout>



Все это загружается в контейнер который находится в content_main

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
<?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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:context=".MainActivity">
 
    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">
 
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />
 
    </android.support.design.widget.AppBarLayout>
 
    <include layout="@layout/content_main" />
 
    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        app:srcCompat="@android:drawable/ic_dialog_email" />
 
</android.support.design.widget.CoordinatorLayout>

content_main

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
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/content_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".MainActivity"
    tools:showIn="@layout/app_bar_main">
 
 
 
    <FrameLayout
        android:id="@+id/frgmCont"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </FrameLayout>
 
</RelativeLayout>
0
ExFau$t
372 / 358 / 75
Регистрация: 08.05.2012
Сообщений: 1,806
21.02.2017, 11:44 #10
Вот это похоже на хедер:
Цитата Сообщение от ILNAR_93 Посмотреть сообщение
app:headerLayout="@layout/menu_header"
0
ILNAR_93
Android
234 / 234 / 25
Регистрация: 19.01.2013
Сообщений: 1,765
Записей в блоге: 3
21.02.2017, 11:51  [ТС] #11
ExFau$t, Это я сейчас добавил при отправке сюда (толку нет что с ним что без - так-же)
0
ExFau$t
372 / 358 / 75
Регистрация: 08.05.2012
Сообщений: 1,806
21.02.2017, 11:57 #12
Показывай @menu/settings_menu
0
ILNAR_93
Android
234 / 234 / 25
Регистрация: 19.01.2013
Сообщений: 1,765
Записей в блоге: 3
21.02.2017, 12:03  [ТС] #13
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
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
 
    <item
        android:icon="@drawable/common_full_open_on_phone"
        android:title="Item 1"
        app:showAsAction="never"
        android:titleCondensed="1 мин"/>
    <item
        android:icon="@drawable/common_full_open_on_phone"
        android:title="Item 2"
        app:showAsAction="always" />
    <item
        android:icon="@drawable/common_full_open_on_phone"
        android:title="Item 3"
        app:showAsAction="always" />
    <item
        android:icon="@drawable/common_full_open_on_phone"
        android:title="Item 4"
        app:showAsAction="always" />
    <item
        android:icon="@drawable/common_full_open_on_phone"
        android:title="Item 5"
        app:showAsAction="always" />
 
</menu>
0
ExFau$t
372 / 358 / 75
Регистрация: 08.05.2012
Сообщений: 1,806
21.02.2017, 12:17 #14
Сделай item1, app:showAsAction="always", у тебя же нету всплывающего меню с заголовком, как я понимаю.
1
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,072
Завершенные тесты: 1
21.02.2017, 12:22 #15
я может невнимательно прочитал код, но в примере вверху в header_layout указана просто TextView, а в твоем коде что? правильно - menu_header
кэп подсказывает что его и надо показывать/смотреть
0
21.02.2017, 12:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2017, 12:22
Привет! Вот еще темы с ответами:

Подправить разметку - Программирование Android
Господа помогите с разметкой. Каждый раз как делаю новую разметку все забываю по этой теме. &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; ...

AlertDialog вылезает за разметку - Программирование Android
Я создаю кастомный AlertDialog и проблема в том, что когда я подключаю к диалогу разметку и отображаю его. Концы этого AlertDialog...

Преобразовать xml разметку в картинку - Программирование Android
Искал честно не нашел. Есть xml разметка с кучей TextView. Можно ли как то преобразовать это все безобразие в картинку. Чтобы не париться с...

Создание объекта через xml разметку. NullPointerExeption - Программирование Android
Кажется у меня пробел в основах, я думал прописывая вью через разметку, при сборке создается экземпляр класса, и стоит лишь найти вьюшку по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.