六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 80|回复: 0

[Android学习]通过dialog模拟spinner,并在底部加上EditText

[复制链接]

升级  80%

8

主题

8

主题

8

主题

童生

Rank: 1

积分
40
 楼主| 发表于 2013-1-30 04:07:52 | 显示全部楼层 |阅读模式
lz先去喝一碗热翔……
 
国庆前分配的一个囧任务,要自定义一个spinner,并且在spinner下面加上一个用于搜索的EditText。大概效果如下


 
    这个spinner真心太奇葩,同学给的资料 http://t.cn/zlWKruo 怪我太弱逼一点都没看懂。后来各种自定义spinner没法做之后决定使用dialog来模拟spinner。
 
然后连着跪了一上午,终于找到了一个解决办法就是,用setItems函数来制作一个spinner,并在底部用setView加上一个TableLayout~~
 
大牛们鄙视我吧,我还是太弱了
 
献上弱代码

package com.example.dialogact;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {    Button button;    String[] num={"1","2","3","4","5","6","7","8"};    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);         button=(Button)findViewById(R.id.button);        button.setOnClickListener(new OnClickListener() {public void onClick(View v) {// TODO Auto-generated method stubLayoutInflater layoutInflater = LayoutInflater.from(MainActivity.this);         View myLoginView = layoutInflater.inflate(R.layout.dlg, null);                 new AlertDialog.Builder(MainActivity.this)                .setTitle("选择")                .setItems(num, new DialogInterface.OnClickListener() {                    public void onClick(DialogInterface dialog, int which) {                        button.setText(num[which]);                    Toast info =Toast.makeText(MainActivity.this, num[which],Toast.LENGTH_LONG);                        info.setMargin(0.0f, 0.3f);                        info.show();                    }                }                )                .setView(myLoginView).create().show();}                });        }} 
Avtivity的布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    >             <Button             android:id="@+id/button"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:text="xx"             android:layout_weight="1"             ></Button></LinearLayout> 
dialog的布局文件dlg.xml

<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    >    <TableRow>        <TextView             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:text="搜索:"             android:textSize="30dp"             android:layout_weight="1"             />                     <EditText             android:id="@+id/text1"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:layout_weight="1"             />      </TableRow>></TableLayout> 实现的效果


 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表