Mono for android 如何动态添加View,线程内部如何更新UI.
2014-03-13 10:17
579 查看
貌似所有设计到UI的程序原理都是一样的,子线程是不能够更新UI状态的,所以就必须使用UI自身或者第三方来更新UI.
如 在WinForm 中 就可以使用Control.Invoke(Action action) 方法来用UI自身更新状态.当然我不是做WinForm的,更新的方法还有很多.
在Andorid的世界里,同样的,想更新UI的状态,必须借助一个第三方势力来更新.
下面是一个简单的动态添加一个ImageView,并从网络上获得图片的简单的例子.
如 在WinForm 中 就可以使用Control.Invoke(Action action) 方法来用UI自身更新状态.当然我不是做WinForm的,更新的方法还有很多.
在Andorid的世界里,同样的,想更新UI的状态,必须借助一个第三方势力来更新.
下面是一个简单的动态添加一个ImageView,并从网络上获得图片的简单的例子.
[Activity(Label = "My Activity")] public class SearchActivity : Activity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); this.SetContentView(Resource.Layout.Hostlayout); var layout = this.FindViewById<LinearLayout>(Resource.Id.HomeImageContent); Handler hander = new Handler(); List<string> urlSource = new List<string>(); foreach (var item in urlSource) { var address = item; var taks = System.Threading.Tasks.Task.Factory.StartNew(() => { Runnable run = new Runnable(() => { Java.Net.URL url = new Java.Net.URL(address); var map = Android.Graphics.BitmapFactory.DecodeStream(url.OpenStream()); ImageView image = new ImageView(this); image.SetImageBitmap(map); layout.AddView(image); }); hander.Post(run); }); } } }
相关文章推荐
- Android中如何在子线程更新UI
- 子线程更新UI会发生android.view.ViewRoot$CalledFromWrongThreadException异常的解决方法 .
- android 关于线程更新UI控件,包括gridview,textview,imageview等
- 子线程更新UI会发生android.view.ViewRoot$CalledFromWrongThreadException异常的解决方法
- android开发中 如何动态更新TextView的内容?
- 【Android】如何动态根据需要的用Java添加安卓控件——以ImageView为例~~
- 在android中如何用线程来更新UI
- Android 如何在代码中动态的添加View 及 指定位置
- 子线程更新UI会发生android.view.ViewRoot$CalledFromWrongThreadException异常的解决方法 .
- 子线程更新UI会发生android.view.ViewRoot$CalledFromWrongThreadException异常的解决方法
- android如何在子线程中更新UI
- android开发中 如何动态更新TextView的内容?
- Android如何动态的给TextView左右上下添加图片
- 子线程更新UI会发生android.view.ViewRoot$CalledFromWrongThreadException异常的解决方法
- android-如何在子线程中更新ui
- android开发中 如何动态更新TextView的内容?
- Android UI编程进阶——使用SurfaceViewt和Canvas实现动态时钟
- Android实战简易教程<四>(ScrollView和HorizontalScrollView动态添加控件并提供事件监听)
- Android 如何根据设置文字大小动态计算TextView长度、动态设置Relativelayout布局
- 3.1 MonoForAndroid用户人机界面-更改与显示文字标签-TextView标签的使用