1 package eu
.alefzero
.owncloud
;
3 import java
.util
.Stack
;
5 import android
.content
.Context
;
6 import android
.util
.AttributeSet
;
7 import android
.widget
.HorizontalScrollView
;
8 import android
.widget
.ImageView
;
9 import android
.widget
.LinearLayout
;
10 import android
.widget
.ScrollView
;
11 import android
.widget
.TextView
;
13 public class PathLayout
extends LinearLayout
{
15 private Stack
<String
> paths
;
16 ScrollView internalScroll
;
19 public PathLayout(Context context
) {
24 public PathLayout(Context context
, AttributeSet attrs
) {
25 super(context
, attrs
);
33 int start
= paths
.size()*2-2;
35 if (paths
.size() == 1) {
39 view
.removeViews(start
, count
);
43 public void push(String path
) {
44 // its weird that we cannot declare static imgView as path separator
46 ImageView iv
= new ImageView(getContext());
47 iv
.setImageDrawable(getResources().getDrawable(R
.drawable
.breadcrumb
));
48 iv
.setPadding(2, 0, 2, 0);
51 TextView tv
= new TextView(getContext());
52 tv
.setLayoutParams(getLayoutParams());
55 HorizontalScrollView hsv
= (HorizontalScrollView
) internalScroll
.getChildAt(0);
56 hsv
.smoothScrollTo(hsv
.getMaxScrollAmount()*2, 0);
60 public String
peek() {
64 private void initialize() {
65 paths
= new Stack
<String
>();
66 internalScroll
= new ScrollView(getContext());
67 internalScroll
.setFillViewport(true
);
68 HorizontalScrollView hsv
= new HorizontalScrollView(getContext());
69 hsv
.setSmoothScrollingEnabled(true
);
70 internalScroll
.addView(hsv
);
71 view
= new LinearLayout(getContext());
72 addView(internalScroll
);
74 ImageView iv
= new ImageView(getContext());
75 iv
.setImageDrawable(getResources().getDrawable(R
.drawable
.breadcrumb
));