Android DataBinding需要注意的地方

在RecycleView 的 adapter中使用databinding

	@Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
    {
        ItemUserBinding binding = DataBindingUtil.inflate(LayoutInflater.from(this.context), R.layout.item_user, parent, false);
        return new UserViewHolder(binding.getRoot());
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position)
    {
        ItemUserBinding binding = DataBindingUtil.getBinding(holder.itemView);
        binding.setModel(this.items.get(position));
        binding.executePendingBindings();
    }

自定义view中使用

val inflater = getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
val mBinding = DataBindingUtil.inflate(inflater, R.layout.view_keyboard, this, true)


EditView 的背景问题

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- 边框颜色值 -->
    <item>
        <shape>
            <solid android:color="#ff0000" />
               <!-- 边框底部两个角都是有弧度的 -->
            <corners
                android:bottomLeftRadius="5dp"
                android:bottomRightRadius="5dp" />
        </shape>
    </item>

    <item android:bottom="0.5dp"  android:left="0.5dp" android:right="0.5dp"> <!--设置除了顶部都有边框-->
        <shape>
            <corners
                android:bottomLeftRadius="5dp"
                android:bottomRightRadius="5dp" />
            <solid android:color="#ffffff" />
        </shape>
    </item>

</layer-list>
Loading Disqus comments...
Table of Contents