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

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 stub

				LayoutInflater 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>

 实现的效果


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值