FloatingGroupExpandableListView — это библиотека с открытым исходным кодом, которая предоставляет плавающий список групп с использованием пользовательских компонентов с возможностью разворачивать и сворачивать элементы.
private void getGroupItems() {
mGroupNameItem.add(ResUtil.getString(this, ResourceTable.String_item_cupcake));
mGroupNameItem.add(ResUtil.getString(this, ResourceTable.String_item_donut));
mGroupNameItem.add(ResUtil.getString(this, ResourceTable.String_item_eclair));
mGroupNameItem.add(ResUtil.getString(this, ResourceTable.String_item_froyo));
mGroupNameItem.add(ResUtil.getString(this, ResourceTable.String_item_gingerbread));
mGroupNameItem.add(ResUtil.getString(this, ResourceTable.String_item_honeycomb));
mGroupNameItem.add(ResUtil.getString(this, ResourceTable.String_item_ice_cream_sandwich));
mGroupNameItem.add(ResUtil.getString(this, ResourceTable.String_item_jelly_bean));
mGroupNameItem.add(ResUtil.getString(this, ResourceTable.String_item_kitkat));
mFinalGroupNameItem.addAll(mGroupNameItem);
}
private void getGroupIcons() {
mGroupImageItem.add(ResourceTable.Media_cupcake);
mGroupImageItem.add(ResourceTable.Media_donut);
mGroupImageItem.add(ResourceTable.Media_eclair);
mGroupImageItem.add(ResourceTable.Media_froyo);
mGroupImageItem.add(ResourceTable.Media_gingerbread);
mGroupImageItem.add(ResourceTable.Media_honeycomb);
mGroupImageItem.add(ResourceTable.Media_ice_cream_sandwich);
mGroupImageItem.add(ResourceTable.Media_jelly_bean);
mGroupImageItem.add(ResourceTable.Media_kitkat);
}
ExpandableListAdapter expandableListAdapter = new ExpandableListAdapter<String>
(this, com.diegocarloslima.fgelv.lib.ResourceTable.Layout_sample_ability_list_group_item,
mGroupNameItem, mGroupImageItem) {
// Code here for binding group & child item
}
mGroupContainer. setAdapter(expandableListAdapter);
ExpandableListAdapter expandableListAdapter = new ExpandableListAdapter<String>(this, ResourceTable.Layout_sample_ability_list_group_item,
mGroupNameItem, mGroupImageItem) {
@Override
protected void bind(ViewHolder holder, String text, Integer image, int position) {
}
}
a. с помощью holder можно установить текст
holder.setText(viewId, String text, color, textSize)
int viewId - предоставить идентификатор текстового компонента, в котором нужно отобразить содержимое.
String text - текстовое содержимое, которое нужно отобразить.
Color color - цвет текста.
int textsize - размер текста для отображения.
b. с помощью holder можно установить изображение группы
holder.setGroupImage(viewId, imageRedId, shape, scaleMode, groupImageColor)
int viewId - предоставить идентификатор группового ImageView-компонента, для которого можно задать групповое изображение.
Integer imageResId - предоставить ID изображения.
int shape - форма группового изображения.
Image.ScaleMode scaleMode - режим масштабирования для изображения.
int groupImageColor - groupImageColor, который нужно задать для фона изображения.
c. с помощью holder можно установить дочернее изображение
holder.setChildImage(viewId, imageRedId, width, height, margin)
int viewId - предоставить идентификатор компонента группового ImageView, для которого можно задать дочернее изображение.
Integer imageResId - предоставить ID изображения.
int width - ширина дочернего изображения.
int height - высота. **Дочернее изображение**
margin — отступ дочернего изображения.
d. С помощью holder можно задать фон группового элемента:
holder.setGroupItemBackground(int groupItemLayoutId, int groupItemColor)
int groupItemLayoutId — идентификатор зависимого макета группового элемента.
int groupItemColor — цвет контейнера макета, фона группового элемента.
e. С помощью holder можно установить разделитель группового элемента:
holder.setGroupItemDivider(int dividerId, int color)
int dividerId — идентификатор разделителя.
int color — цвет разделителя.
**Добавление и удаление дочерних элементов**
При нажатии на групповой элемент адаптера расширяемого списка:
expandableListAdapter.setOnItemClickListener(new ExpandableListAdapter.OnItemClickListener() {
@Override
public void onItemClick(Component component, int position) {
// логика удаления дочерних элементов при сворачивании в зависимости от необходимости
removeChildItems(actualItemPosition, clickedItem);
// логика добавления дочерних элементов при разворачивании в зависимости от необходимости
addChildItems(actualItemPosition, clickedItem);
}
});
## Инструкция по установке:
Способ 1:
Сгенерируйте пакет .har с помощью библиотеки и добавьте пакет .har в папку libs.
Добавьте следующий код в начальный gradle:
implementation fileTree (dir: 'libs', include: ['*.jar', '*.har'])
Способ 2:
allprojects{
repositories{
mavenCentral()
}
}
implementation 'io.openharmony.tpc.thirdlib:FloatingGroupExpandableListView:1.0.1'
## Лицензия
Copyright 2013 Diego Carlos Lima
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )