如何在Android中实现此功能

如何在Android中实现此功能,第1张

概述我是Android的新手.任何人都可以告诉我它是什么类型的技术?我想在密码字段中添加此功能.我可以知道实现目标的正确方法是什么?您能否帮助我解决任何代码或指南如何正确实现?解决方法:您有很多可能创建这种布局:>一个父RelativeLayout,一个在顶部有4个点的LinearLayout,在底部用theatt

我是Android的新手.任何人都可以告诉我它是什么类型的技术?我想在密码字段中添加此功能.我可以知道实现目标的正确方法是什么?您能否帮助我解决任何代码或指南如何正确实现?

解决方法:

您有很多可能创建这种布局:

>一个父relativeLayout,一个在顶部有4个点的linearLayout,在底部用the attributes显示你的视图,如leftOf,toRightOf等. – 创建一个onClickListener方法来改变它们的状态并保存数字.
>具有权重属性的多个linearLayouts填充整个空间,每个视图(四舍五入的数字)填充空间(请参阅下面的示例以了解权重属性) – 或几个relativeLayouts – 甚至是tableLayout.
>或者下面的linearLayout和GrIDVIEw带有ItemClickListener方法..

根据你的问题下面的评论,有很多可能性.我选择其中一个使用linear和relativeLayout.它可能是这样的:

<!-- named activity_main.xml --><relativeLayout    ... >    <linearLayout        androID:ID="@+ID/contain"        ... androID:layout_wIDth="250dip"        androID:orIEntation="horizontal"        androID:weightSum="4" >        <!-- weightSum to 4 = whatever the screen, display              my children vIEws in 4 sections -->        <VIEw            ... androID:layout_weight="1"            androID:background="@drawable/green_dots" />        <!-- weight to 1 = this takes one section -->        <VIEw            ... androID:layout_weight="1"            androID:background="@drawable/green_dots" />        <!-- weight to 1 = this takes one section -->        <VIEw            ... androID:layout_weight="1"            androID:background="@drawable/green_dots" />        <VIEw            ... androID:layout_weight="1"            androID:background="@drawable/green_dots" />    </linearLayout>    <relativeLayout        androID:layout_below="@ID/contain" ... >        ... Here display your buttons (or textvIEws) with             custom drawable background for each one</relativeLayout>  

在您的Activity类中,它实现了OnClickListener,如下所示:

public class MyActivity extends Activity implements OnClickListener { }

然后在你的方法里面这个Activity:

// init your buttons varbutton one, two, three, four, five ...;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    // set the layout above    setContentVIEw(R.layout.activity_main);    // init your buttons    one = (button) findVIEwByID(R.ID.button1);    two = (button) findVIEwByID(R.ID.button2);    three = (button) findVIEwByID(R.ID.button3);    ... etc.    // set them to your implementation    one.setonClickListener(this);    two.setonClickListener(this);    three.setonClickListener(this);    ... etc.}// call this function when one button is pressedpublic voID onClick(VIEw vIEw) {    // retrIEves the ID of clicked button    switch(vIEw.getID()) {        case R.ID.button1:             methodToSaveNumber(int);        break;        case R.ID.button2:             methodToSaveNumber(int);        break;        case R.ID.button3:             methodToSaveNumber(int);        break;        ... etc.    }}

然后在你的methodToSaveNumber方法中:

// finally, your method to save the number of the passwordpublic voID methodToSaveNumber(int i) {    ... do something.     ... change the state of the buttons, the dots, whatever you want}  

只是为了向您展示它是如何工作的,可绘制的green_dots可能是这样的:

<?xml version="1.0" enCoding="utf-8"?><shape     xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:shape="rectangle" >    <!-- radius -->    <corners        androID:radius="20dp" />    <!-- border -->    <stroke         androID:color="@androID:color/green"         androID:wIDth="2dp" />    <!-- background (transparent) -->    <solID          androID:color="#00000000" /></shape>  

你必须告诉你layouts及其如何运作,click event and its listener,drawables and their states(集中,按下,禁用……),最后,我希望你能得到你想要的.

快乐的编码!

总结

以上是内存溢出为你收集整理的如何在Android中实现此功能全部内容,希望文章能够帮你解决如何在Android中实现此功能所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1101764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存