RoboBinding探究二:ImageView及自定义控件实现
来源:互联网 发布:python进程和线程 编辑:程序博客网 时间:2024/06/08 12:31
public class ImageActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);ImagePresentationModel presentationModel = new ImagePresentationModel();initializeContentView(R.layout.activity_image, presentationModel);}private void initializeContentView(int layoutId, Object presentationModel) {ViewBinder viewBinder = createViewBinder();View rootView = viewBinder.inflateAndBind(layoutId, presentationModel);setContentView(rootView);}private ViewBinder createViewBinder() {BinderFactory binderFactory = new BinderFactoryBuilder().add(new MylayoutBinding().forView(MyLayout.class)).build();return binderFactory.createViewBinder(this);}}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:bind="http://robobinding.org/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:ignore="MissingPrefix" > <com.test.model.MyLayout android:layout_width="match_parent" android:layout_height="wrap_content" bind:image="{image}" /></LinearLayout>
public class MyLayout extends LinearLayout {private ImageView image;public MyLayout(Context context, AttributeSet attrs) {this(context, attrs, R.layout.mylayout);}protected MyLayout(Context context, AttributeSet attrs, int layoutId) {super(context, attrs);LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);inflater.inflate(layoutId, this);image = (ImageView) findViewById(R.id.image);}@SuppressLint("NewApi")public void setImage(int drawable) {image.setImageResource(drawable);}}
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
@org.robobinding.annotation.PresentationModelpublic class ImagePresentationModel implementsHasPresentationModelChangeSupport {private PresentationModelChangeSupport changeSupport;public ImagePresentationModel() {changeSupport = new PresentationModelChangeSupport(this);}@Overridepublic PresentationModelChangeSupport getPresentationModelChangeSupport() {return changeSupport;}public int getImage() {return R.drawable.test;}public void changeImage() {changeSupport.firePropertyChange("image1");}}
0 0
- RoboBinding探究二:ImageView及自定义控件实现
- RoboBinding学习二:ImageView及自定义控件实现
- RoboBinding探究一:TextView及EditText基础实现
- RoboBinding探究三:网络请求实现
- 自定义控件实现imageview的点击效果
- 自定义控件实现带进度条的ImageView
- Android自定义ImageView实现圆形控件显示
- Android控件之ImageView探究
- Android控件之ImageView探究
- [源码]RoboBinding及思考
- 自定义ImageView放大镜控件
- 自定义圆形ImageView控件
- 自定义ImageView控件
- 自定义控件------圆形Imageview
- 自定义ImageView控件
- 自定义控件探究
- 自定义ImageView控件,实现点击高亮图标
- 自定义控件之ImageView实现点击之后有阴影效果
- flex设置DataGrid文本按内容自动换行
- javascript 正则表达式过滤sql关键字
- Cut Frame From Decoding Stream To Show As a RGB Form Picture
- strncpy函数的危险性
- 如何判断一段程序是由C编译程序还是C++编译程序编译的?
- RoboBinding探究二:ImageView及自定义控件实现
- 使用java.util.Properties类读写配置文件
- 记录一个问题 lua_tinker中load_file 的lua文件包含require报错解决办法
- Android 内存管理系列之二:内存溢出
- C++11function函数用法
- linux下安装boost
- javascript中值传递,地址传递,引用传递的问题。
- Activity使用小技巧
- Android 动画(二) 实战演示——仿网易新闻安卓端菜单栏动画