Android之Button 和下拉菜单的结合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android之Button 和下拉菜单的结合相关的知识,希望对你有一定的参考价值。
package kongjian.text;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
public class text extends Activity
private TextView textview,textview2;//定义控件
private EditText edittext;
private Spinner spinner;
private static final String[] countries="O型","A型","B型","AB型";
private ArrayAdapter<String> adapter;
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button=(Button)findViewById(R.id.button1);//创建对象并且找到id
edittext=(EditText) findViewById(R.id.editText1);//找到控件id
textview=(TextView) findViewById(R.id.textView1);
textview2=(TextView) findViewById(R.id.textView2);
spinner=(Spinner) findViewById(R.id.spinner1);
adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,countries);//将可选内容与ArrayAdapter连接 不理解!
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//设置下拉列表风格
spinner.setAdapter(adapter);//在下拉列表中添加内容
textview.setTextSize(20);//设置字体大小
button.setOnClickListener(new Button.OnClickListener()//侦听button控件
public void onClick(View v)//(View v)这个是什么意思
textview.setText("文本框中内容:"+edittext.getText().toString());//把edittext的内容赋值给textview
);
spinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener()
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3)
textview2.setText("你的血型是:"+countries[arg2]);//textview2显示下拉列表内容 能不能选择后不显示在我点button后再在textview2中显示出来
arg0.setVisibility(View.VISIBLE);//这句是什么意思
@Override
public void onNothingSelected(AdapterView<?> arg0) //这个用来做什么的?
);
我要要的效果先选择下拉列表的内容但是不在textview2中显示出来当我按下button时在textview2中显示出我当前选择的下拉列表中的内容。求解释????
adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,countries);
spinner.setAdapter(adapter);//把你要显示的列表信息附加到spinner中,
public void onClick(View v)//(View v)这个是什么意思:你的单击事件,里边的view指你所单击的View对象
arg0.setVisibility(View.VISIBLE);//设置属性,可读不可读,可用不可用等;
你要实现在选择下拉菜单中的内容时不显示到Textview中,单击Button后才显示 你可以在选择的监听事件setOnItemSelectedListener中:
textview2.setText("你的血型是:"+countries[arg2]);//textview2显示下拉列表内容 能不能选择后不显示在我点button后再在textview2中显示出来
换成:新建的一个String类型比如str来保存这个信息
str="你的血型是:"+countries[arg2]
在OnClicklistener单击事件的时候把它显示出来呗:
public void onClick(View v)//(View v)这个是什么意思
textview.setText("文本框中内容:"+edittext.getText().toString());
textview2.setText(str);
希望对你能有所帮助本回答被提问者采纳
下拉菜单在悬停时消失(Firefox)
我有一个按钮而不是悬停有一个与之关联的下拉菜单。这在chrome上工作得非常好,我可以从下拉列表中选择项目,但在Firefox上,当我离开按钮点击下拉项目时,下拉消失的行为是不同的。
这是我的CSS和附带的JS小提琴。
button {
position:relative;
}
.flags_home_middle {
top: 68%;
right: 23%;
left: inherit;
}
.flags_item_features {
-webkit-transition-duration: .8s;
transition-duration: .8s;
opacity: 0;
visibility: hidden;
padding: 3px !important;
width: 211px;
position: absolute;
top: 51%;
left: 23%;
}
.flags_item {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.flags_home_middle {
top: 68%;
right: 23%;
left: inherit;
}
.flags_item_features {
-webkit-transition-duration: .8s;
transition-duration: .8s;
opacity: 0;
visibility: hidden;
padding: 3px !important;
width: 211px;
position: absolute;
top: 51%;
left: 23%;
}
.flags_item {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.btn_buy_features:hover .flags_item_features {
opacity: 1;
visibility: visible;
background: #EBEBEB;
box-shadow: 0 3px 9px -2px rgba(0, 0, 0, .5);
}
在我看来,Firefox在使用悬停时不会考虑具有新堆叠上下文的交互元素的子元素。为了克服这个问题,我将整个菜单放在按钮旁边,让你的容器充当亲戚父母。我还使用伪元素增加了安全区。
https://jsfiddle.net/3nn7pc21/4/
button {
position:relative;
}
.buy-button-wrapper
{
position: relative;
}
.flags_home_middle {
top: 68%;
right: 23%;
left: inherit;
}
.flags_item {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.flags_home_middle {
top: 68%;
right: 23%;
left: inherit;
}
.flags_item_features {
-webkit-transition-duration: .8s;
transition-duration: .8s;
opacity: 0;
visibility: hidden;
padding: 3px !important;
width: 211px;
position: absolute;
top: 10px;
left: 10px;
}
.flags_item {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.btn_buy_features:hover + .flags_item_features,
.flags_item_features:hover
{
opacity: 1;
visibility: visible;
background: #EBEBEB;
box-shadow: 0 3px 9px -2px rgba(0, 0, 0, .5);
}
.flags_item_features:before
{
content: "";
display: block;
position: absolute;
left: -10px;
top: -10px;
right: -10px;
bottom: -10px;
}
<div class="buy-button-wrapper">
<button type="button" class="btn-buy btn_buy_features custom_btn active" style="margin: 0 auto;">BUY</button>
<div class="flags_item flags_item_features flags_home_middle">
<div class="border_link">
<span class="country_name"> <a href="http://shop-us.foobot.io/cart/add?id=8739494597" class="flag_lins"><img src="/wp-content/uploads/2017/01/1_2_2.png">US</a></span>
</div>
<div class="border_link">
<span class="country_name"> <a href="http://shop-eu.foobot.io/cart/add?id=8346318915" class="flag_lins"><img src="/wp-content/uploads/2017/01/1_2_3.png">EU</a></span>
</div>
<div class="border_link">
<span class="country_name"> <a href="http://shop-eu.foobot.io/cart/add?id=8819215683" class="flag_lins"><img src="/wp-content/uploads/2017/01/1_2_1.png">UK</a></span>
</div>
</div>
</div>
以上是关于Android之Button 和下拉菜单的结合的主要内容,如果未能解决你的问题,请参考以下文章