https://github.com/ponnamkarthik/richlinkpreview
A Rich Link Preview Library for Android
https://github.com/ponnamkarthik/richlinkpreview
Last synced: 3 months ago
JSON representation
A Rich Link Preview Library for Android
- Host: GitHub
- URL: https://github.com/ponnamkarthik/richlinkpreview
- Owner: ponnamkarthik
- License: apache-2.0
- Created: 2018-01-16T12:56:49.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-03-07T23:21:48.000Z (over 3 years ago)
- Last Synced: 2025-04-03T11:21:20.872Z (6 months ago)
- Language: Java
- Size: 623 KB
- Stars: 218
- Watchers: 10
- Forks: 58
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RichLink-Preview
A Rich Link Preview Library for Android[]( https://android-arsenal.com/details/1/6702 )
> Sample Image
#### Import using Gradle
~~~gradle
compile 'io.github.ponnamkarthik:richlinkpreview:1.0.9'
~~~for android studio 3.x
~~~gradle
implementation 'io.github.ponnamkarthik:richlinkpreview:1.0.9'### jsoup library required
Implementation 'org.jsoup:jsoup:1.12.1'
~~~#### To implement existing layout using XML
Add below code in activity_main.xml
~~~xml
~~~
In your MainActivity.java add below code
~~~java
public class MainActivity extends AppCompatActivity {
RichLinkView richLinkView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// ...
//
richLinkView = (RichLinkView) findViewById(R.id.richLinkView);
richLinkView.setLink("https://stackoverflow.com", new ViewListener() {
@Override
public void onSuccess(boolean status) {
}
@Override
public void onError(Exception e) {
}
});
}
}
~~~~~~java
RichLinkView richLinkView;
RichLinkViewTelegram richLinkViewTelegram;
RichLinkViewSkype richLinkViewSkype;
RichLinkViewTwitter richLinkViewTwitter;//Set Link is same as default
~~~> **OR**
#### If you want to implement your own layout.
~~~java
private MetaData data;RichPreview richPreview = new RichPreview(new ResponseListener() {
@Override
public void onData(MetaData metaData) {
data = metaData;
//Implement your Layout
}
@Override
public void onError(Exception e) {
//handle error
}
});
~~~> if you want to set obtained meta data to view
~~~java
richLinkView.setLinkFromMeta(metaData)
or
MetaData metaData = new MetaData();
metaData.setTitle("Title");
metaData.setDescription("Custom Meta Data");
metaData.setFavicon("http://favicon url");
metaData.setImageurl("http://image url");
metaData.setSitename("Custom Meta data site");richLinkView.setLinkFromMeta(metaData);
~~~
> Set your own CickListener
~~~java
//at first disable default click
richLinkView.setDefaultClickListener(false);//set your own click listener
richLinkView.setClickListener(new RichLinkListener() {
@Override
public void onClicked(View view, MetaData meta) {
//do stuff
Toast.makeText(getApplicationContext(), meta.getTitle(), Toast.LENGTH_SHORT).show();
}
});~~~
> MetaData
```java
metaData.getTitle();metaData.getImageurl();
metaData.getDescription();
metaData.getSitename();
metaData.getUrl();
metaData.getMediatype();
```