Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lurbas/ListItemView
Implementation of List Item from Material Design
https://github.com/lurbas/ListItemView
Last synced: 3 months ago
JSON representation
Implementation of List Item from Material Design
- Host: GitHub
- URL: https://github.com/lurbas/ListItemView
- Owner: lurbas
- License: apache-2.0
- Created: 2017-03-20T19:45:38.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-06-15T15:45:52.000Z (over 6 years ago)
- Last Synced: 2024-06-16T00:38:21.712Z (5 months ago)
- Language: Java
- Homepage:
- Size: 469 KB
- Stars: 572
- Watchers: 15
- Forks: 65
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-android-ui - ListItemView - 基于MD风格的列表item实现 (ListView)
README
# ListItemView
[![Build Status](https://travis-ci.org/lurbas/ListItemView.svg?branch=master)](https://travis-ci.org/lurbas/ListItemView)Implementation of List Item from Material Design [guidelines](https://material.io/guidelines/components/lists.html#lists-specs).
### Screenshot
![](https://github.com/lurbas/ListItemView/blob/master/readme/cover.png)### Usage
```xml```
#### Action Menu
Right action icon is configured from xml menu file similar to toolbar configuration.
```
app:liv_menu="@menu/multiple_action_menu"
```
xml file
```xml
```
add onClick listener
```java
listItemView.setOnMenuItemClickListener(new ListItemView.OnMenuItemClickListener() {
@Override
public void onActionMenuItemSelected(final MenuItem item) {
// click
}
});
```#### Padding and Keyline
```
app:liv_paddingStart="@dimen/padding_start"
app:liv_paddingEnd="@dimen/padding_end"
app:liv_keyline="@dimen/keyline"
```
By default `liv_paddingStart` and `liv_paddingEnd` are set to **16dp** on mobile and **24dp** on tablet.
Keyline `liv_keyline` is a line to which text will be offset when icon or avatar is present. Default value is **72dp** on mobile and **80dp** on tablet.
The view is RTL ready.It is possible to offset text without setting icon, by using **liv_forceKeyline** flag
```
app:liv_forceKeyline="true"
```
![](https://github.com/lurbas/ListItemView/blob/master/readme/keyline.png)#### Circular Icon
```
app:liv_displayMode="circularIcon"
```
![](https://github.com/lurbas/ListItemView/blob/master/readme/circular_icon.png)#### Avatar
```
app:liv_displayMode="avatar"
```
next you can get the `ImageView` and download into it an image using library of your choice (Picasso, Glide, etc).
Picasso.with(context)
.load(avaratUrl)
.placeholder(R.drawable.placeholder)
.transform(new CropCircleTransform())
.into(listItemView.getAvatarView());#### Styling
Title color uses `?android:textColorPrimary` and Subtitle uses `?android:textColorSecondary`. All icons by default are also tinted
with `?android:textColorSecondary` color. This means view can handle respectfully light and dark theme.To change icons color use accordingly:
```
app:liv_iconColor="@color/icon_color"
app:liv_circularIconColor="@color/icon_color"
app:liv_menuActionColor="@color/icon_color"
app:liv_menuOverflowColor="@color/icon_color"
```### Download (JCenter)
```gradle
dependencies {
compile 'com.lucasurbas:listitemview:1.1.1'
}
```### License
```
Copyright 2017 Lucas UrbasLicensed 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 athttp://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.
```