vipulasri / timeline-view Goto Github PK
View Code? Open in Web Editor NEWAndroid Timeline View is used to display views like Tracking of shipment/order, steppers etc.
License: Apache License 2.0
Android Timeline View is used to display views like Tracking of shipment/order, steppers etc.
License: Apache License 2.0
I want to change to postion of the marker on the top of the line and not in the center of the line in a particular view . Is that possible ? Please Help.
i am not getting line between markes. i am using this programmatically my code is
TimelineView clTimelineView=new TimelineView(context,null);
LinearLayout.LayoutParams timeliLayoutParams=new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT);
clTimelineView.setLayoutParams(timeliLayoutParams);
clTimelineView.setId(R.id.rv_result_line_marker);
clTimelineView.setMarkerSize(20);
clTimelineView.setLineSize( 50);
/* clTimelineView.setStartLine(new ColorDrawable(this.getResources().getColor(android.R.color.darker_gray)));
clTimelineView.setEndLine(new ColorDrawable(this.getResources().getColor(R.color.green_primary)));*/
Hello,
Is it possible to set marker in center programmatically please ?
Anyway to change the green marker to an ImageView?
I am trying to change the marker color after an item click. However, it seems setMarkerColor()
only works on the onBindViewHolder()
. Is this true?
Can someone explain how to remove items from recyclerview using this library?
Eg.
if (TextUtils.isEmpty(timeLineModel.getDisplayName())) {
//delete holder.itemView
}
Hi ,
Is there a way to change the marker's color?
Hello there,
Thanks for the nice library, How can I create multiple view types ?
As the recyclerView in 23.2, the timeline view expands to full_width, even when we use wrap_content for the container.
line broke when set each marker size not the same size, any idea?
I have two card-views.want to add a Timeline-View with them.
This is not in recyclerview.
how to remove line above the first item in the recyclerview and line below the last item in the recyclerview?
how do I add the marker on the top of the line which is now appearing in the center of the line?
Thanks for reading!
Hi there,
Is there any way to change line color dynamically as per position? I mean to say that initially lines are drawn with gray color. Now as position gets changed based on button click, upto that position line's color changes to red. For example, I have 5 markers. All makers color are gray initially along with lines. Now I press button so my current position is 1. Now I want to change color of marker at 0 and 1 position and line between 0 and 1 to red.
How can I achieve this?
public class IslemlerFragment extends Fragment {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;
private RecyclerView mRecyclerView;
private TimeLineAdapter mTimeLineAdapter;
private List<TimeLineModel> mDataList = new ArrayList<>();
private Orientation mOrientation;
private boolean mWithLinePadding;
public IslemlerFragment() {
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment IslemlerFragment.
*/
// TODO: Rename and change types and number of parameters
public static IslemlerFragment newInstance(String param1, String param2) {
IslemlerFragment fragment = new IslemlerFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
mDataList.add(new TimeLineModel("Item successfully delivered", "", OrderStatus.INACTIVE));
mDataList.add(new TimeLineModel("Courier is out to delivery your order", "2017-02-12 08:00", OrderStatus.ACTIVE));
mDataList.add(new TimeLineModel("Item has reached courier facility at New Delhi", "2017-02-11 21:00", OrderStatus.COMPLETED));
mDataList.add(new TimeLineModel("Item has been given to the courier", "2017-02-11 18:00", OrderStatus.COMPLETED));
mDataList.add(new TimeLineModel("Item is packed and will dispatch soon", "2017-02-11 09:30", OrderStatus.COMPLETED));
mDataList.add(new TimeLineModel("Order is being readied for dispatch", "2017-02-11 08:00", OrderStatus.COMPLETED));
mDataList.add(new TimeLineModel("Order processing initiated", "2017-02-10 15:00", OrderStatus.COMPLETED));
mDataList.add(new TimeLineModel("Order confirmed by seller", "2017-02-10 14:30", OrderStatus.COMPLETED));
mDataList.add(new TimeLineModel("Order placed successfully", "2017-02-10 14:00", OrderStatus.COMPLETED));
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_islemler, container, false);
mOrientation = Orientation.VERTICAL;
mWithLinePadding = true;
mRecyclerView = (RecyclerView) view.findViewById(R.id.recyclerView);
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
mRecyclerView.setLayoutManager(llm);
mRecyclerView.setHasFixedSize(true);
mTimeLineAdapter = new TimeLineAdapter(mDataList, mOrientation, mWithLinePadding);
mRecyclerView.setAdapter(mTimeLineAdapter);
//Application crash
return view;
}
}`
The indicator's color is determined by maker.
It's common issue that in order to use SVG on pre-KitKat you have to use in ImageView
app:srcCompat instead of android:src.
The same situation here, but not handled. It throws exception.
I am getting a crash because of following exception:
android.content.res.Resources$NotFoundException: File res/drawable-xxhdpi-v4/ic_marker_active.png from xml type xml resource ID #0x7f020071. If the resource you are trying to use is a vector resource, you may be referencing it in an unsupported way. See AppCompatDelegate.setCompatVectorFromResourcesEnabled() for more info.
any idead what might be the issue?
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):
Can someone explain how to add footer to this library?
Thanks!
Hi, thanks for the lib thats cool.
Can we change line position for example center or right aligned?
Thank you
Is this possible?
The sample source, as follows:
public class TimeLineAdapter extends RecyclerView.Adapter<TimeLineViewHolder> {
... ...
@Override
public int getItemViewType(int position) {
return TimelineView.getTimeLineViewType(position,getItemCount());
}
And check the TimelineView.getTimeLineViewType(...)
function, as follows:
public class TimelineView extends View {
public static int getTimeLineViewType(int position, int total_size) {
if(total_size == 1) {
return LineType.ONLYONE;
} else if(position == 0) {
return LineType.BEGIN;
} else if(position == total_size - 1) {
return LineType.END;
} else {
return LineType.NORMAL;
}
}
As mentioned above, if use Timeline-View, then the adapter just have 4 item view types(They are : LineType.ONLYONE, LineType.BEGIN, LineType.END and LineType.NORMAL).
That is to say that Timeline-View assume that the developer defines only ONE type of item view. If defines two or more item view types, there is a conflict with the item view types defined by Timeline-View.
Fix this issue, there is a solution: it is similar to View.MeasureSpec
.
The higher 2-bits is used to define TimelineView types, and the lower 30-bits is used to define user's types.
It is not good to see the line touching both the ends of screen. It would have been good if there is some way to clip the first and last lines
And by the way thanks a lot for making such a wonderful view. I'm using it in my app Wheelo
I would like to set horizontal *<android.support.v7.widget.CardView *
android:layout_width="50dp"
android:layout_height="300dp"
I use match_parent for layout_width & wrap_content for layout_height. It doesn't change match_parent. It doesn't set fix match_parent on my phone.
Hi , first thank you for this nice library ,
I searched a lot but did not find how to start the first timeline with a dot not line?
please tell me how to do it like this
https://raw.githubusercontent.com/vipulasri/Timeline-View/master/art/showcase.png
Best regards
Using Timeline-View to display images. Images that exceed 1mb don't seem to show up.
I used your library to a dynamic list - a list where the content can be with/without image. But there is some problem on row with images, you can see the problem below:
I have applied match parent
on timeline view and it doesn't help me at all.
For the dynamic view, I used View.VISIBLE
to show and View.GONE
on the onBindViewHolder method.
I don't know whether this is a bug on the library or is it just me wrong in implementing it.
Your help will be really appreciated.
can set the length of the line,such as setLineSize()
Any tip to how do I implement Sectioned Timeline.
for eg,
Each day becomes section and timeline as hours of a day, If day changes, new section with timeline will be created
Any help with this usecase
Device details
Samsung galaxy S3 SGH-T999, Android 4.3
Lava irisX8, Android 4.4
compileSdkVersion 25
buildToolsVersion "25.0.2"
i am using 'com.github.vipulasri:timelineview:1.0.6'
System log is as follows
FATAL EXCEPTION: main
java.lang.IllegalArgumentException: radius must be > 0
at android.graphics.RadialGradient.(RadialGradient.java:53)
at android.support.v7.widget.RoundRectDrawableWithShadow.buildShadowCorners(RoundRectDrawableWithShadow.java:323)
at android.support.v7.widget.RoundRectDrawableWithShadow.buildComponents(RoundRectDrawableWithShadow.java:345)
at android.support.v7.widget.RoundRectDrawableWithShadow.draw(RoundRectDrawableWithShadow.java:247)
at android.view.View.draw(View.java:14721)
at android.widget.FrameLayout.draw(FrameLayout.java:534)
at android.view.View.getDisplayList(View.java:13602)
at android.view.View.getDisplayList(View.java:13649)
at android.view.View.draw(View.java:14444)
at android.view.ViewGroup.drawChild(ViewGroup.java:3252)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3070)
at android.view.View.getDisplayList(View.java:13594)
at android.view.View.getDisplayList(View.java:13649)
at android.view.View.draw(View.java:14444)
at android.view.ViewGroup.drawChild(ViewGroup.java:3252)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3070)
at android.view.View.getDisplayList(View.java:13594)
at android.view.View.getDisplayList(View.java:13649)
at android.view.View.draw(View.java:14444)
at android.view.ViewGroup.drawChild(ViewGroup.java:3252)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3070)
at android.view.View.draw(View.java:14753)
at android.widget.FrameLayout.draw(FrameLayout.java:534)
at android.view.View.getDisplayList(View.java:13602)
at android.view.View.getDisplayList(View.java:13649)
at android.view.View.draw(View.java:14444)
at android.view.ViewGroup.drawChild(ViewGroup.java:3252)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3070)
at android.view.View.getDisplayList(View.java:13594)
at android.view.View.getDisplayList(View.java:13649)
at android.view.View.draw(View.java:14444)
at android.view.ViewGroup.drawChild(ViewGroup.java:3252)
at android.support.v7.widget.RecyclerView.drawChild(RecyclerView.java:4477)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3070)
at android.view.View.draw(View.java:14753)
at android.support.v7.widget.RecyclerView.draw(RecyclerView.java:3869)
at android.view.View.getDisplayList(View.java:13602)
at android.view.View.getDisplayList(View.java:13649)
at android.view.View.draw(View.java:14444)
at android.view.ViewGroup.drawChild(ViewGroup.java:3252)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3070)
at android.view.View.getDisplayList(View.java:13594)
at android.view.View.getDisplayList(View.java:13649)
at android.view.View.draw(View.java:14444)
at android.view.ViewGroup.drawChild(ViewGroup.java:3252)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3070)
at android.view.View.getDisplayList(View.java:13594)
at android.view.View.getDisplayList(View.java:13649)
at android.view.View.draw(View.java:14444)
at android.view.ViewGroup.drawChild(ViewGroup.java:3252)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3070)
at android.view.View.getDisplayList(View.java:13594)
at android.view.View.getDisplayList(View.java:13649)
at android.view.View.draw(View.java:14444)
at android.view.ViewGroup.drawChild(ViewGroup.java:3252)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3070)
at android.view.View.getDisplayList(View.java:13594)
at android.view.View.getDisplayList(View.java:13649)
at android.view.View.draw(View.java:14444)
at android.view.ViewGroup.drawChild(ViewGroup.java:3252)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3070)
at android.view.View.getDisplayList(View.java:13594)
at android.view.View.getDisplayList(View.java:13649)
at android.view.View.draw(View.java:14444)
at android.view.ViewGroup.drawChild(ViewGroup.java:3252)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3090)
at android.view.View.draw(View.java:14753)
at android.view.View.getDisplayList(View.java:13602)
at android.view.View.getDisplayList(View.java:13649)
at android.view.
Hey, I have gone over the sample app provided and the methods available. But I cannot seem to remove the extra line spacing. I mean I have an Adapter, an item view and a recycler view, where I am loading the item views with the help of adapter.
How can I disable that extra line on the first and last items.
I maybe missing something simple and I am sorry that I am posting this as an issues but I could not find resources on other places.
Getting an app crash while testing library in api 16
E/AndroidRuntime: FATAL EXCEPTION: main android.view.InflateException: Binary XML file line #0: Error inflating class com.github.vipulasri.timelineview.TimelineView at android.view.LayoutInflater.createView(LayoutInflater.java:613) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at com.adapter.MyAdapter.onCreateViewHolder(MyAdapter.java:48) at com.adapter.MyAdapter.onCreateViewHolder(MyAdapter.java:35) at jp.wasabeef.recyclerview.adapters.AnimationAdapter.onCreateViewHolder(AnimationAdapter.java:40) at jp.wasabeef.recyclerview.adapters.AnimationAdapter.onCreateViewHolder(AnimationAdapter.java:40) at android.support.v7.widget.RecyclerView$Adapter.createViewHolder(RecyclerView.java:6519) at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5706) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5589) at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5585) at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2231) at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1558) at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1518) at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:610) at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3719) at android.support.v7.widget.RecyclerView.onMeasure(RecyclerView.java:3135) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390) at android.widget.LinearLayout.measureVertical(LinearLayout.java:681) at android.widget.LinearLayout.onMeasure(LinearLayout.java:574) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390) at android.widget.LinearLayout.measureVertical(LinearLayout.java:681) at android.widget.LinearLayout.onMeasure(LinearLayout.java:574) at android.view.View.measure(View.java:15172) at android.support.v4.widget.NestedScrollView.measureChildWithMargins(NestedScrollView.java:1449) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.support.v4.widget.NestedScrollView.onMeasure(NestedScrollView.java:515) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:139) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816) at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:400) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390) at android.widget.LinearLayout.measureVertical(LinearLayout.java:681) at android.widget.LinearLayout.onMeasure(LinearLayout.java:574) at android.view.View.measure(View.java:15172) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4816) at android.widget.FrameLayout.onMeasure(FrameLayout.java:310) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2148) at android.view.Vi
hi @vipulasri thanks for this cool library can we change progress direction from top to bottom right now its shown for bottom to top progress.
I am using it for music player. I want to change drawable from play to pause and vise versa. Can i do so in this library?
Hey lines those connect icons (markers) are not painted correctly.
After I scroll down, and then scroll up (recycle mechinism) line move to the correct place
Height of my element on the list is not constans ( sometimes more text in many lines)
Item of recycle View adapter looks like
<LinearLayout 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:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="8dp"
android:paddingRight="8dp">
<com.github.vipulasri.timelineview.TimelineView
android:id="@+id/timeline_marker"
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:markerSize="36dp"
app:lineSize="2dp"
app:line="@color/teal"
app:linePadding="0dp"
app:markerInCenter="true"
app:marker="@drawable/ic_service_history_tire"
android:layout_marginLeft="8dp"
android:layout_gravity="center_vertical"/>
<OtherView....>
</LinearLayout>
<!-- left = timeline view -->
<com.github.vipulasri.timelineview.TimelineView
android:id="@+id/tlv_a_timeline"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dimen_10"
app:markerSize="20dp"
app:lineSize="3dp"
app:line="@color/black"
app:linePadding="5dp"
/>
<!-- right = detail -->
<RelativeLayout
android:id="@+id/ll_adapter_rv_a_timeline_right"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dimen_5"
android:layout_marginLeft="@dimen/dimen_10"
android:layout_marginRight="@dimen/dimen_10"
android:layout_marginTop="@dimen/dimen_5"
android:layout_toRightOf="@id/tlv_a_timeline"
android:background="@drawable/shape_c_rect_3_bg_white">
<!-- date -->
<TextView
android:id="@+id/tv_adapter_rv_a_timeline_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dimen_5"
android:layout_marginRight="@dimen/dimen_5"
android:ellipsize="end"
android:gravity="left|center_vertical"
android:maxEms="20"
android:singleLine="true"
android:text="2017-12-11 12:50:23"
android:textColor="@color/black"
android:textSize="@dimen/font_12" />
<View
android:id="@+id/view_adapter_rv_a_timeline_1"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen_1"
android:layout_below="@id/tv_adapter_rv_a_timeline_date"
android:layout_centerInParent="true"
android:background="@color/bg_line_lightgray" />
<!-- title -->
<TextView
android:id="@+id/tv_adapter_rv_a_timeline_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/view_adapter_rv_a_timeline_1"
android:layout_marginLeft="@dimen/dimen_5"
android:layout_marginRight="@dimen/dimen_5"
android:ellipsize="end"
android:gravity="left|center_vertical"
android:maxEms="20"
android:singleLine="true"
android:text="timeline标题"
android:textColor="@color/black"
android:textSize="@dimen/font_16" />
<View
android:id="@+id/view_adapter_rv_a_timeline_2"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen_1"
android:layout_below="@id/tv_adapter_rv_a_timeline_title"
android:background="@color/bg_line_lightgray" />
<!-- title -->
<TextView
android:id="@+id/tv_adapter_rv_a_timeline_detail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/view_adapter_rv_a_timeline_2"
android:layout_marginLeft="@dimen/dimen_5"
android:layout_marginRight="@dimen/dimen_5"
android:ellipsize="end"
android:gravity="left|center_vertical"
android:maxEms="20"
android:singleLine="true"
android:text="timeline详情"
android:textColor="@color/black"
android:textSize="@dimen/font_12" />
</RelativeLayout>
public class MyViewHolder extends RecyclerView.ViewHolder {
private TimelineView tlv;
private TextView tvTitle;
private TextView tvDetail;
private TextView tvDate;
public MyViewHolder(View view, int viewType) {
super(view);
tlv = view.findViewById(R.id.tlv_a_timeline);
tlv.initLine(viewType);
tvTitle = view.findViewById(R.id.tv_adapter_rv_a_timeline_title);
tvDetail = view.findViewById(R.id.tv_adapter_rv_a_timeline_detail);
tvDate = view.findViewById(R.id.tv_adapter_rv_a_timeline_date);
}
}
Awesome project Vipul.
I have a use case where I want to show two or more activities for the same date/day and hence I do not want the marker to be shown but instead just a straight blue line in the timeline. Is this possible? If not, can you share a drawable XML for the same?
Is there is any option to hide the first half marker line of the TimeLineView on very first so it look something like this.
O--------O--------O----
instead of
----O--------O--------O----
I think the only-one check should happen first, otherwise you get a dangling line.
public static int getTimeLineViewType(int position, int total_size) {
if(total_size == 1) {
return LineType.ONLYONE;
} else if(position == 0) {
return LineType.BEGIN;
} else if(position == total_size - 1) {
return LineType.END;
} else {
return LineType.NORMAL;
}
}
I am looking to use this to add many different markers to the timeline. Sort of like time stamps. How would I do this?
How to setMarker or change the icon
<com.vipul.hp_hp.timelineview.TimelineView
android:id="@+id/red_marker"
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:marker_size="35dp"
app:marker="@drawable/ic_timeline_red"
app:line_size="2dp"
app:line="@android:color/black"/>
I use app:marker to change icon from xml
how to change the icon or marker from java code?
I got some error when I change it
java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.drawable.Drawable android.content.Context.getDrawable(int)' on a null object reference
this is my java code
Drawable res = ContextCompat.getDrawable(context, R.drawable.ic_timeline_blue);
if(timeLineModel.getJenis().equalsIgnoreCase("1")){
holder.mTimelineView.setMarker(res);
}
can you help me please
thank you so much
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.