Skip to content
This repository was archived by the owner on Mar 26, 2025. It is now read-only.

Commit 512be81

Browse files
committed
Update sample and readme
1 parent ce45a13 commit 512be81

File tree

3 files changed

+101
-96
lines changed

3 files changed

+101
-96
lines changed

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,14 @@ Drawable windowBackground = decorView.Background;
4040
blurView.SetupWith(rootView)
4141
.WindowBackground(windowBackground)
4242
.BlurAlgorithm(new RenderScriptBlur(this))
43-
.BlurRadius(radius);
43+
.BlurRadius(radius)
44+
.SetHasFixedTransformationMatrix(true);
4445
```
4546

4647
Always try to choose the closest possible root layout to BlurView. This will greatly reduce the amount of work needed for creating View hierarchy snapshot.
4748

49+
You can use `SetHasFixedTransformationMatrix` in case if you are not animating your BlurView, this might slightly improve the performance as BlurView won't have to recalculate its transformation matrix on each frame.
50+
4851
## Supporting API < 17
4952

5053
```

src/SampleApp/ListFragment.cs

Lines changed: 63 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,64 @@
11
using Android.Content;
2-
using Android.Support.V7.Widget;
3-
using Android.Views;
4-
5-
namespace SampleApp
6-
{
7-
public class ListFragment : BaseFragment
8-
{
9-
RecyclerView recyclerView;
10-
11-
public override string Title => "RecyclerView";
12-
13-
protected override int LayoutId => Resource.Layout.fragment_list;
14-
15-
public override void OnViewCreated(View view, Android.OS.Bundle savedInstanceState)
16-
{
17-
base.OnViewCreated(view, savedInstanceState);
18-
19-
Init();
20-
}
21-
22-
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Android.OS.Bundle savedInstanceState)
23-
{
24-
var view = base.OnCreateView(inflater, container, savedInstanceState);
25-
26-
recyclerView = view.FindViewById<RecyclerView>(Resource.Id.recyclerView);
27-
28-
return view;
29-
}
30-
31-
void Init()
32-
{
33-
recyclerView.SetAdapter(new ExampleListAdapter(Context));
34-
recyclerView.SetLayoutManager(new LinearLayoutManager(Context));
35-
}
36-
}
37-
38-
public class ExampleListAdapter : RecyclerView.Adapter
39-
{
40-
const int ITEMS_COUNT = 64;
41-
LayoutInflater inflater;
42-
43-
public ExampleListAdapter(Context context)
44-
{
45-
inflater = LayoutInflater.From(context);
46-
}
47-
48-
public override int ItemCount => ITEMS_COUNT;
49-
50-
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
51-
{
52-
}
53-
54-
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
55-
{
56-
return new Holder(inflater.Inflate(Resource.Layout.list_item, parent, false));
57-
}
58-
59-
class Holder : RecyclerView.ViewHolder
60-
{
61-
public Holder(View itemView) : base(itemView) {}
62-
}
63-
}
64-
}
2+
using Android.Support.V7.Widget;
3+
using Android.Views;
4+
5+
namespace SampleApp
6+
{
7+
public class ListFragment : BaseFragment
8+
{
9+
RecyclerView recyclerView;
10+
11+
public override string Title => "RecyclerView";
12+
13+
protected override int LayoutId => Resource.Layout.fragment_list;
14+
15+
public override void OnViewCreated(View view, Android.OS.Bundle savedInstanceState)
16+
{
17+
base.OnViewCreated(view, savedInstanceState);
18+
19+
Init();
20+
}
21+
22+
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Android.OS.Bundle savedInstanceState)
23+
{
24+
var view = base.OnCreateView(inflater, container, savedInstanceState);
25+
26+
recyclerView = view.FindViewById<RecyclerView>(Resource.Id.recyclerView);
27+
28+
return view;
29+
}
30+
31+
void Init()
32+
{
33+
recyclerView.SetAdapter(new ExampleListAdapter(Context));
34+
recyclerView.SetLayoutManager(new LinearLayoutManager(Context));
35+
}
36+
}
37+
38+
public class ExampleListAdapter : RecyclerView.Adapter
39+
{
40+
const int ITEMS_COUNT = 64;
41+
LayoutInflater inflater;
42+
43+
public ExampleListAdapter(Context context)
44+
{
45+
inflater = LayoutInflater.From(context);
46+
}
47+
48+
public override int ItemCount => ITEMS_COUNT;
49+
50+
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
51+
{
52+
}
53+
54+
public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
55+
{
56+
return new Holder(inflater.Inflate(Resource.Layout.list_item, parent, false));
57+
}
58+
59+
class Holder : RecyclerView.ViewHolder
60+
{
61+
public Holder(View itemView) : base(itemView) {}
62+
}
63+
}
64+
}

src/SampleApp/MainActivity.cs

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1-
using System.Collections.Generic;
1+
using System.Collections.Generic;
22
using Android.App;
33
using Android.Content.PM;
44
using Android.Graphics.Drawables;
55
using Android.OS;
6-
using Android.Support.Design.Widget;
7-
using Android.Support.V4.App;
6+
using Android.Support.Design.Widget;
7+
using Android.Support.V4.App;
88
using Android.Support.V4.View;
99
using Android.Support.V7.App;
1010
using Android.Views;
11-
using Android.Widget;
12-
using Java.Lang;
11+
using Android.Widget;
12+
using Java.Lang;
1313
using Com.EightbitLab.BlurViewBinding;
1414
//using Com.EightbitLab.SupportRenderScriptBlurBinding;
15-
16-
// Ported from:
17-
// https://github.com/Dimezis/BlurView/blob/master/app/src/main/java/com/eightbitlab/blurview_sample/MainActivity.java
15+
16+
// Ported from:
17+
// https://github.com/Dimezis/BlurView/blob/master/app/src/main/java/com/eightbitlab/blurview_sample/MainActivity.java
1818
namespace SampleApp
1919
{
20-
[Activity(
21-
MainLauncher = true,
22-
LaunchMode = LaunchMode.SingleTop,
23-
Label = "@string/app_name",
24-
Icon = "@drawable/icon",
20+
[Activity(
21+
MainLauncher = true,
22+
LaunchMode = LaunchMode.SingleTop,
23+
Label = "@string/app_name",
24+
Icon = "@drawable/icon",
2525
Theme = "@style/Theme.MyTheme")]
2626
public class MainActivity : AppCompatActivity
2727
{
@@ -60,13 +60,15 @@ void SetupBlurView()
6060
var topViewSettings = topBlurView.SetupWith(root)
6161
.WindowBackground(windowBackground)
6262
.BlurAlgorithm(new RenderScriptBlur(this)) // SupportRenderScriptBlur
63-
.BlurRadius(radius);
64-
63+
.BlurRadius(radius)
64+
.SetHasFixedTransformationMatrix(true);
65+
6566

6667
var bottomViewSettings = bottomBlurView.SetupWith(root)
6768
.WindowBackground(windowBackground)
6869
.BlurAlgorithm(new RenderScriptBlur(this)) // SupportRenderScriptBlur
69-
.BlurRadius(radius);
70+
.BlurRadius(radius)
71+
.SetHasFixedTransformationMatrix(true);
7072

7173
int initialProgress = (int)(radius * step);
7274
radiusSeekBar.SetProgress(initialProgress, true);
@@ -95,25 +97,25 @@ class ViewPagerAdapter : FragmentPagerAdapter
9597
public ViewPagerAdapter(Android.Support.V4.App.FragmentManager fragmentManager)
9698
: base (fragmentManager)
9799
{
98-
pages = new List<BaseFragment>
99-
{
100-
new ScrollFragment(),
101-
new ListFragment(),
102-
new ImageFragment()
103-
};
100+
pages = new List<BaseFragment>
101+
{
102+
new ScrollFragment(),
103+
new ListFragment(),
104+
new ImageFragment()
105+
};
104106
}
105-
106-
public override int Count => pages.Count;
107-
108-
public override Android.Support.V4.App.Fragment GetItem(int position)
109-
{
110-
return pages[position];
107+
108+
public override int Count => pages.Count;
109+
110+
public override Android.Support.V4.App.Fragment GetItem(int position)
111+
{
112+
return pages[position];
111113
}
112114

113-
public override ICharSequence GetPageTitleFormatted(int position)
114-
{
115-
return new Java.Lang.String(pages[position].Title);
116-
}
115+
public override ICharSequence GetPageTitleFormatted(int position)
116+
{
117+
return new Java.Lang.String(pages[position].Title);
118+
}
117119
}
118120
}
119121

0 commit comments

Comments
 (0)