`
wwweducn
  • 浏览: 29660 次
文章分类
社区版块
存档分类
最新评论

设置、格式-Android笔记:Activity-by小雨

阅读更多

文章结束给大家来个程序员笑话:[M]

    

    例子一:Spinner的基本现实方法

    步调一:编写Android XML文件

    <LinearLayout …… > <TextView android:id="@+id/spinner_label" …… /> <!-- 经过我们的测试android:drawSelectorOnTop="true | false"不起作用,因此此数参可以不设置 --> <Spinner android:id="@+id/spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>

    步调二:源代码

    1)设置Spinner中之的素元内容,采用了ArrayAdapter来描述,并通过setApdater()来设置adapter

    private String[] items= {"lorem", "ipsum", "dolor", "sit", "amet",…. ArrayAdapter<String> aa = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,items); //第二个数参示表spinner没有开展前的UI类型 spin.setAdapter(aa); //之前已通过Spinner spin = (Spinner) findViewById(R.id.spinner);来获得spin对象

    2)设置spinner开展的式方,在上面,我们将通过设置ArrayAdapter的第二个数参,设置了spinner没有开展前的UI格式,simple_spinner_item是textview的label式方,而simple_spinner_dropdown_item这是点击圆圈选择式方。在这个例子中,我们将开展式方设置为点击圆圈选择,如图所示。关于格式,我们会在第二个例子中行进验试。

    aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    3)应用setOnItemSelectedListener()来设置Spinner的点击发触的callback函数,有onItemSelected和onNothingSelected两个接口要需体具给出。

    public class SpinnerTest extends Activity implements OnItemSelectedListener{

    protected void onCreate(Bundle savedInstanceState) { …… spin.setOnItemSelectedListener(this); … … } @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub label.setText(items[arg2]); //label是我们设置的第一个TextView widget,arg2就是素元的pos要需 } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub label.setText(""); } }

    例子二:Spinner的UI格式

    步调一:编写Android XML文件

    在例子来自Android官方网站的tutorial的例子。我们载下SDK的文档中也带有,可以地本查看。这里我们希望item的素元内容设置都在XML中义定,便利改修以及多国语言版本的现实。

    在strings.xml中

    <resources> <string name="planet_prompt">太阳系星行:</string> <string-array name="planets_arry"> <item>Mercury</item> <item>Venus</item> <item>Earth</item> <item>Mars</item> <item>Jupiter</item> <item>Saturn</item> <item>Uranus</item> <item>Neptune</item> </string-array> </resources>

    

    在layout的xml中:

    <LinearLayout … > <TextView … /> <Spinner android:id="@+id/spinner4" android:layout_width="fill_parent" android:layout_height="wrap_content" android:prompt="@string/planet_prompt" /> </LinearLayout>

    在Spinner中,我们设置了prompt,根据@string在strings.xml中查找,prompt的内容为“太阳系星行:”在我们点击开展Spinner中,我们可以看到在最上面增加了提示,如上图所示。

    步调二:编写源代码

    1)设置spinner的adapter,并导入数据,以及设置UI格式。

    Spinner spin=(Spinner)findViewById(R.id.spinner4); //createFromResouce将返回ArrayAdapter<CharSequence>,拥有三个数参: //第一个是conetxt,也就是application的境环,可以设置为this,也可以通过getContext()获得. //第二个数参是从data source中的array ID,也就是我们在strings中设置的ID号; //第三个数参是spinner未开展的UI格式 ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.planets_arry, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spin.setAdapter(adapter);

    在ArrayApdater中我们设置了为开展的式方,android供给了两种格式,当然我们也可以通过Android XML文件行进设置,犹如ListView一样,下图分别是设置android.R.layout.simple_spinner_item和android.R.layout.simple_spinner_dropdown_item的示显,一般而言,我们都市示显前者。

    

    如果我们不通过setDropDownViewResource行进设置,则开展的式方缺省同未开展的式方,否则必须行进设置,下图分别是设置android.R.layout.simple_spinner_item和android.R.layout.simple_spinner_dropdown_item。可以看出在面下边左的途中,开展和未开展的设置是不一样的。

    

    2)设置回调函数

    这里采用了一个类来描述回调处置

    public class MyOnItemSelectedListener implements OnItemSelectedListener{ @Override public void onItemSelected(AdapterView<?> parent, View arg1, int pos, long arg3){ // 在这里我们习复一下Toast的用法 Toast.makeText(parent.getContext(), "The planet is "+ parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show(); }

    @Override public void onNothingSelected(AdapterView<?> arg0) { //nothing to do } }

    在程序中应用spin.setOnItemSelectedListener(new MyOnItemSelectedListener());来设置回调对象便可。

 

    例子三:自义定格式和数据

    在上面的例子中,为开展和开展后的UI格式采用了Android自义定的格式,都可以自行义定。

    ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textView,list);

    在上面的例子中,我们应用某个ArrayAdapter的构造函数,其中第一个数参是context,第二个数参指定来下菜单的个每条目的款式,第三个数参指定了在个每条目款式中于用示显数据的TextView的Id,第四个数参为表列的数据起源(可所以任何格式,toString()就是应相的赋值)。

文章结束给大家分享下程序员的一些笑话语录: 手机终究会变成PC,所以ip会比wm更加畅销,但是有一天手机强大到一定程度了就会发现只有wm的支持才能完美享受。就好比树和草,草长得再高也是草,时间到了条件成熟了树就会窜天高了。www.ishuo.cn

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics