<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[西晽的技术栈]]></title><description><![CDATA[Android，C#，WPF]]></description><link>https://blog.youkuaiyun.com/syllvin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; syllvin]]></copyright><item><title><![CDATA[MVP + Rxbinding + AutoCompleteTextView 实现关键词联想功能]]></title><link>https://blog.youkuaiyun.com/syllvin/article/details/93163738</link><guid>https://blog.youkuaiyun.com/syllvin/article/details/93163738</guid><author>syllvin</author><pubDate>Fri, 21 Jun 2019 10:15:30 +0800</pubDate><description><![CDATA[只写与AutoCompleteTextView有关的代码：
一，View部分
public class SearchViewActivity extends BaseActivity&lt;GoodPresenter&gt; implements SwipeRefreshLayout.OnRefreshListener, GoodContract.IGoodView {
    @BindView...]]></description><category></category></item><item><title><![CDATA[制作图片溢出效果]]></title><link>https://blog.youkuaiyun.com/syllvin/article/details/90928486</link><guid>https://blog.youkuaiyun.com/syllvin/article/details/90928486</guid><author>syllvin</author><pubDate>Wed, 05 Jun 2019 19:53:36 +0800</pubDate><description><![CDATA[经常在京东、淘宝点击“加入购物车“”按钮，会看到这样的效果，商品图片溢出页面顶部一部分。

我的思路如下：
1，页面根布局设置背景透明：transparent，加入android:clipChildren="false"属性，让子布局可以超出父布局显示。
2，将图片所在的布局（比如：LinearLayout）的高度设置为图片高度的一半，背景也设置为透明。并将该布局放到页面顶部。
3，图片加入and...]]></description><category></category></item><item><title><![CDATA[MVP + Retrofit + Rx框架实现双层RecyclerView购物车单选、全选、删除、清空，异步更新网站数据]]></title><link>https://blog.youkuaiyun.com/syllvin/article/details/90766944</link><guid>https://blog.youkuaiyun.com/syllvin/article/details/90766944</guid><author>syllvin</author><pubDate>Tue, 04 Jun 2019 12:58:52 +0800</pubDate><description><![CDATA[关于MVP架构，类似的文章太多了，此处省略， Retrofit + Rx框架类似的文章也很多，此处也省略，主要写双层RecyclerView的适配器。
店铺层：RecyclerCartAdapter
商品层：RecyclerCartPlusAdapter
RecyclerCartAdapter提供ISelectAll，IPlusOrMinus，IParentDeSelect三个接口，由View层的...]]></description><category></category></item><item><title><![CDATA[RxBinding实现用户注册验证]]></title><link>https://blog.youkuaiyun.com/syllvin/article/details/90237031</link><guid>https://blog.youkuaiyun.com/syllvin/article/details/90237031</guid><author>syllvin</author><pubDate>Wed, 15 May 2019 15:09:58 +0800</pubDate><description><![CDATA[一，引入依赖

二，设计布局
使用了TextInputLayout

LinearLayout的约束布局比例

三，代码实现
public class RegisterActivity extends AppCompatActivity {
      private volatile int regInfo = 1;
      @OnClick(R.id.backthis)
      pub...]]></description><category></category></item><item><title><![CDATA[WPF DataGrid + MySQL实时更新数据库解决方案]]></title><link>https://blog.youkuaiyun.com/syllvin/article/details/85250483</link><guid>https://blog.youkuaiyun.com/syllvin/article/details/85250483</guid><author>syllvin</author><pubDate>Tue, 25 Dec 2018 16:42:47 +0800</pubDate><description><![CDATA[基本流程
1，MySQL数据表设置自增列，主键，not null，例如定义：Inspect_ID
2，在WPF DataGrid xaml中绑定对应的Inspect_ID列，设为首列，只读，隐藏
3，设置DataGrid的SelectionUint为FullRow属性
4，在窗体加载事件中绑定 DATA_GRID.SelectedValuePath = “Inspect_ID”;
5，设置一个静态...]]></description><category></category></item><item><title><![CDATA[WPF单实例启动程序]]></title><link>https://blog.youkuaiyun.com/syllvin/article/details/85231409</link><guid>https://blog.youkuaiyun.com/syllvin/article/details/85231409</guid><author>syllvin</author><pubDate>Mon, 24 Dec 2018 11:56:06 +0800</pubDate><description><![CDATA[WPF实现只启动一个程序实例，第二次启动，激活该程序实例，或提示：该程序已运行！
1，删除App.xaml中的 StartupUri=“MainWindow” 语句。
2，新建SingleInstanceWrapper包装器类
namespace Endeavour
{
    class SingleInstanceWrapper:Microsoft.VisualBasic.Applicatio...]]></description><category></category></item><item><title><![CDATA[WPF单窗口模式 ActInstance()]]></title><link>https://blog.youkuaiyun.com/syllvin/article/details/85230476</link><guid>https://blog.youkuaiyun.com/syllvin/article/details/85230476</guid><author>syllvin</author><pubDate>Mon, 24 Dec 2018 11:07:06 +0800</pubDate><description><![CDATA[namespace Endeavour
{
	public partial class Window2 : Window
	{
		public static Window2 Instance { get; private set; }
		public static void ActInstance()
		{
			if (Instance == null)
			{
				Instance...]]></description><category></category></item></channel></rss>