相信我,这不是一篇短文。。。。

基本控制

安卓的控件和控件风格都很特别。是一种内联度高的设计模式。换句话说,这是一个非常糟糕的设计。。。。

但是,这种特殊的关系是有一定规律的。让我们来看看控件的用法。

首先,我们定义一个图像按钮,如下所示:

& lt图片按钮

Android:src = " @ draw able/toolbar _ upload _ photo _ normal "

Android:layout _ gravity = " right | center _ vertical "

Android:layout _ width = " wrap _ content "

Android:layout _ height = " wrap _ content "

Android:background = " @ draw able/BTN _ weight "/& gt。

如上面的代码所示,我们定义了ImageButton并设置了它的Src地址,指向一张图片。

重点,我们来看这句话,background = " @ draw able/BTN _ weight;背景颜色指向资源。为什么说它指向一个资源?因为btn_weight不是图片,而是XML文件。。。。如下图:

那我们来看看btn_weight是什么?

& lt?xml version= "1.0 "编码= "UTF-8 "?>。

& lt选择器

xmlns:Android = " http://schemas . Android . com/apk/RES/Android " >;

& ltitem Android:state _ window _ focused = " false " Android:state _ enabled = " true " Android:draw able = " @ draw able/BTN _ weight _ normal "/& gt。

& lt项目Android:state _ enabled = " false " Android:draw able = " @ draw able/BTN _ weight _ disable "/& gt。

& lt项目Android:state _ pressed = " true " Android:draw able = " @ draw able/BTN _ weight _ press "/& gt。

& lt项目Android:state _ focused = " true " Android:draw able = " @ draw able/BTN _ weight _ press "/& gt。

& lt安卓物品:draw able = " @ draw able/BTN _ weight _ normal "/& gt。

& lt/selector>。

如上面代码所示,btn_weight设置按钮按下时和正常时的背景颜色。

没错,这个设定方法真的很费解。按键事件和背景风格混在一起,但在Android中,我们只能适应。

-

好了,现在基本控制完了,是不是觉得自己从现代城市回到了农耕社会?。。。

相信我,有了Xamarin的发展,你在农耕社会还是有犁耙的,有了AS的发展,你会发现你只能靠手挖。。。。

显示数据表格(一种控件)

首先,Android的GridView是我见过的最精彩的列表使用方式。。。

然后,我们开始学习如何使用它。

首先找到GridView控件,代码如下:

GridView my_grid = this。FindControl<。GridView>。;

然后,我们定义一个适配器,并将其分配给GridView的适配器属性。代码如下:

IListAdapter适配器= new GridAdapter;

我的网格。Adapter =适配器;//配置适配器

嗯,这里的代码看起来相当简单,但是接下来就不一样了。让我们来看看这个奇妙的适配器。

首先,让我们看看适配器代码:

公共类GridAdapter : BaseAdapter

{

私有显示度量本地显示度量;

私人充气机;

私人资源;

公共GridAdapter

{

资源=上下文。资源;

localDisplayMetrics =资源。显示度量;

充气机= LayoutInflater。from;

}

公共覆盖int Count = >;9;

公共覆盖对象GetItem

{

返回null

}

公共覆盖长GetItemId

{

返回位置;

}

公共覆盖视图获取视图

{

paramView =充气机。膨胀;

文本视图文本=参数视图。FindViewById;

开关

{

案例0:

{

文字。Text = " local

可绘制的。draw able . home _ button _ local);

画画。SetBounds;

文字。SetCompoundDrawables;

打破;

}

案例1:

{

文字。Text = " search

可绘制的。draw able . home _ button _ search);

画画。SetBounds;

文字。SetCompoundDrawables;

打破;

}

案例2:

{

文字。Text = " checkin

可绘制的。draw able . home _ button _ check in);

画画。SetBounds;

文字。SetCompoundDrawables;

打破;

}

案例3:

{

文字。Text = " promo

可绘制的。draw able . home _ button _ promo);

画画。SetBounds;

文字。SetCompoundDrawables;

打破;

}

案例4:

{

文字。Text = " tuan

可绘制的。draw able . home _ button _ Tuan);

画画。SetBounds;

文字。SetCompoundDrawables;

打破;

}

案例5:

{

文字。Text = " rank

可绘制的。draw able . home _ button _ rank);

画画。SetBounds;

文字。SetCompoundDrawables;

打破;

}

案例6:

{

文字。Text = " history

可绘制的。draw able . home _ button _ history);

画画。SetBounds;

文字。SetCompoundDrawables;

打破;

}

案例7:

{

文字。Text = " myzone

可绘制的。draw able . home _ button _ my zone);

画画。SetBounds;

文字。SetCompoundDrawables;

打破;

}

案例8:

{

文字。Text = " more

可绘制的。draw able . home _ button _ more);

画画。SetBounds;

文字。SetCompoundDrawables;

打破;

}

}

paramView。setMinimumHeight);

paramView。setMinimumWidth/3);

返回paramView

}

}

如上代码所示,适配器的构造函数接受一个参数,这个参数就是适配器所属的Activity,主要用来调用适配器中activiy的信息。

然后,我们通过LayoutInflater将xml布局文件实例化到其对应的视图对象中,以供后续使用。

然后我们重写BaseAdapter类的一些属性和方法。

重写的计数属性需要特别注意。它代表我们列表的显示编号,需要赋值。这里的例子为它定义了一个常数9。

接下来,我们将关注GetView方法。

GetView做了很多事情。作为一个C#开发人员,很难理解它是做什么的。不过,我们可以联想一下。暂时把他理解为线的导入事件,很形象。

因为,至于为什么叫GetView,我觉得大概是因为他既做了数据绑定,又做了行视图的布局,所以没有更合适的名字,所以叫他。

这也是我觉得他很精彩的原因,因为之前的Activity和layout已经把视图和数据混在一起了,然后,在控件中,我们又把数据和layout混在一起了。。。。

让我们看看它是如何混淆的,不,它是如何工作的。

首先,在该行导入的GetView中,我们找到要填充的布局XML——activity _ label _ item . XML..

paramView =充气机。膨胀;

然后,我们在这个行布局中找到控件,然后给它赋值。这里activity_label_item.xml很简单,只有一个Textview,也就是说我们这里需要做的就是给他赋值。

然后,我们通过paramInt判断当前行。一般情况下,在这里找到Activity数据集,找到该集对应的行赋值。

我们在Demo中做了特殊处理,在线视图中添加了图片。

运行结果如下:

如图所示,列表已经创建。

下面我们将点击事件添加到列表中;代码如下:

我的网格。ItemClick += = >

{

这个。ShowToast;

};

代码非常简洁,实现效果如下:

如上图所示,我们成功实现了click事件。

至此,控件的基本应用完成,下一篇文章将继续讲解Android软件的部署。

-

代码已经上传到Github。欢迎下载。

Github地址:https://github.com/kiba518/KibaXamarin_Android

原地址:https://www.cnblogs.com/kiba/p/10395681.html

1.《gridview控件 C#-Xamarin的Android项目开发——控件应用》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《gridview控件 C#-Xamarin的Android项目开发——控件应用》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/junshi/1691197.html