Questions tagged «android-spinner»

微调器是一种控件/小部件,允许用户从组中选择一项,例如下拉列表...

30
如何制作带有初始文本“选择一个”的Android Spinner?
我想使用一个微调器,该微调器最初(当用户尚未选择时)显示文本“选择一个”。当用户单击微调器时,将显示项目列表,并且用户选择选项之一。用户做出选择后,所选项目将显示在微调器中,而不是“选择一个”。 我有以下代码来创建Spinner: String[] items = new String[] {"One", "Two", "Three"}; Spinner spinner = (Spinner) findViewById(R.id.mySpinner); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, items); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); 使用此代码,最初显示项目“一个”。我可以在项目中添加一个新项目“ Select One”,但是“ Select One”也将作为第一项显示在下拉列表中,这不是我想要的。 我该如何解决这个问题?

30
如何防止onItemSelected在新实例化的Spinner上触发?
我想到了一些不太优雅的方法来解决此问题,但我知道我一定会丢失一些东西。 我onItemSelected会立即解雇,而无需与用户进行任何交互,这是不受欢迎的行为。我希望UI能够等到用户选择某些内容后再执行任何操作。 我什至尝试在中设置侦听器onResume(),希望这样做会有帮助,但没有帮助。 在用户可以触摸控件之前,如何停止触发它? public class CMSHome extends Activity { private Spinner spinner; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Heres my spinner /////////////////////////////////////////// spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.pm_list, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); }; public void onResume() { super.onResume(); spinner.setOnItemSelectedListener(new MyOnItemSelectedListener()); } public class …




19
Android Spinner:初始化期间避免onItemSelected调用
我使用Spinner和创建了一个Android应用程序TextView。我想从TextView的Spinner的下拉列表中显示选定的项目。我在onCreate方法中实现了Spinner,因此当我运行程序时,它会在中显示一个值TextView(从下拉列表中选择项目之前)。 我只想从下拉列表中选择一个项目,然后在TextView中显示该值。我该怎么做呢? 这是我的代码: import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView; public class GPACal01Activity extends Activity implements OnItemSelectedListener { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Spinner spinner = (Spinner) findViewById(R.id.noOfSubjects); // …


6
如何在Android中自定义微调框
我想在a的下拉菜单中添加自定义高度Spinner,例如30dp,并且要隐藏的下拉列表的分隔线Spinner。 到目前为止,我尝试对实施以下样式Spinner: <style name="spinner_style"> <item name="android:paddingLeft">0dp</item> <item name="android:dropDownWidth">533dp</item> <item name="android:showDividers">none</item> <item name="android:dividerHeight">0dp</item> <item name="android:popupBackground">@drawable/new_bg</item> <item name="android:dropDownHeight">70dp</item> <item name="android:scrollbarAlwaysDrawVerticalTrack">true</item> <item name="android:dropDownSelector">@android:color/white</item> </style> 而我的微调器的代码是: <Spinner android:id="@+id/pioedittxt5" android:layout_width="543dp" android:layout_height="63dp" android:layout_toRightOf="@+id/piotxt5" android:background="@drawable/spinner" style="@style/spinner_style" android:dropDownVerticalOffset="-53dp" android:spinnerMode="dropdown" android:drawSelectorOnTop="true" android:entries="@array/travelreasons" android:prompt="@string/prompt" /> 但是似乎没有任何作用。

6
我有一个错误:setOnItemClickListener无法与微调器一起使用,这是什么问题?
好的,这是下面的代码,我在下面粘贴了错误消息:我试图setOnItemClickListener在微调器上使用,是否可以使用? @Override public void onItemClick(AdapterView<?> arg0, View v, int index, long arg3) { if (quantity[index]=="Meter" ){ s1="Meter"; Toast.makeText(v.getContext(), "convert from meter",Toast.LENGTH_SHORT).show(); } } }); convertto.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg, View v1, int index1, long arg4) { if ((quantity[index1]=="Meter") && (s1.equalsIgnoreCase("Meter"))) { Toast.makeText(v1.getContext(), " to meter",Toast.LENGTH_SHORT).show(); var2=var1; lresult.setText("" …

7
如何以编程方式将字体自定义字体设置为Spinner文本?
我的资产文件夹中有一个ttf字体文件。我知道如何通过以下方式将其用于textviews: Typeface externalFont=Typeface.createFromAsset(getAssets(), "fonts/HelveticaNeueLTCom-Lt.ttf"); textview1.setTypeface(externalFont); 我已经在自己的xml文件中定义了微调框文本的外观(与android中的通常情况一样): <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+android:id/text1" style="?android:attr/spinnerItemStyle" android:singleLine="true" android:textColor="#ffffff" android:gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content" android:ellipsize="marquee" /> 我只是不能从代码引用此textview,我总是得到空指针异常。例如,我尝试过: TextView spinner_text=(TextView)findViewById(R.id.text1); spinner_text.setTypeface(externalFont); 是否可以为我自己的xml中定义的微调框文本选择外部字体? 谢谢。 编辑答案: 这有效: String [] items = new String[2]; items[0]="Something1"; items[1]="Something2"; ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinaca, items) { public View getView(int position, View convertView, …

10
如何在Spinner上添加浮动标签
在使用Android设计支持库TextInputLayout在EditText组件上方放置一个浮动标签之后,我想知道是否有一种方法可以向该Spinner组件添加一个浮动标签(不一定使用设计库)。 这样,我的意思是TextView在上方放置一个Spinner(显然没有像那样的动画TextInputLayout),但是我希望文本大小,字体和颜色与TextInputLayout浮动标签的大小匹配。 例如,它看起来像这样(请参阅Spinners上方的标签): 正如我之前提到的,我的主要目的是Spinner在TextInputLayout-上方有一个标签,就像-一样,因此文本大小,字体,颜色以及标签与组件之间的距离是相同的。 在有关浮动标签文本字段的Google设计页面上,有一张图表显示了标签相对于组件的尺寸,但没有指示标签文本的颜色或大小: 因此,总而言之,我在问: -如果有一个特殊的组件可以实现我所要问的内容或可以使用的自定义视图,它将是什么,以及如何使用它。 -如果不是,什么是浮动标签文字大小,颜色和字体,这样我就可以把一个TextView上面我Spinner用上面的图片中显示的布局尺寸。 编辑: 根据Google设计指南中的文本字段,它具有以下浮动标签: 提示和输入字体:Roboto Regular 16sp 标签字体:Roboto Regular 12sp 瓦片高度:72dp 文本顶部和底部填充:16dp 文本字段分隔符填充:8dp 以及上面显示的图像。 因此,浮动标签字体为:Roboto Regular 12sp。因此,您可以使用aTextView来显示Spinner标签,因为我不知道View可以使用的任何custom或特殊组件。 但是,在尝试之后,它看起来不如图像中所示的示例好。一个自定义视图可能是为了这个美好的,因为它可能看起来更好,但上面的解决方案是实现东西接近我本来想的只是一种方法。

2
Android:以编程方式从Java代码填充Spinner
您如何以编程方式从Java代码填充微调框? 我在布局中有一个微调器,如下所示: <Spinner android:id="@+id/consultation_deseases" android:layout_width="@dimen/bigSpinnerWidth" android:layout_height="@dimen/bigSpinnerHeight" android:prompt="@string/disease_prompt" /> 使用Java代码,我需要创建适配器并添加项目。

3
如何在操作栏上添加下拉菜单项
在我的Android Honeycomb应用程序中,我使用Tabs作为导航样式。我想在溢出按钮旁边添加一个项目,但是我希望该项目成为一个下拉列表,并且用户可以在那里选择一个选项,但与导航无关。自从我使用以来,最简单的方法是什么mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 是否可以在不使用自定义视图的情况下做到这一点?

14
如何将微调框选择的项目值转换为字符串?
我有5个微调框。为了对此进行总结。 这是xml中的Spinner <Spinner android:id="@+id/text_interested" android:layout_span="2" android:layout_width="wrap_content" android:layout_height="60px" android:entries="@array/interestedarrays" android:prompt="@string/interestedprompt" /> 这是Java中的Spinner submitbtn.setOnClickListener(new OnClickListener() { public void onClick(View v) { interested.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { public void onItemSelected( AdapterView<?> adapterView, View view, int i, long l) { interesting = interested.getItemAtPosition(i).toString(); } public void onNothingSelected( AdapterView<?> adapterView) { } }); } }); 此处说明: 页面上有一个按钮。按下此按钮将从微调器读取数据。我用这个检查了输出 …

15
如何在Android中更改微调器背景?
我正在开发一个需要更改微调器背景布局以匹配背景色的应用程序。我研究发现,我需要创建一个9补丁程序映像。我已经完成创建9补丁程序图像并在应用程序中使用了它,但它看起来比普通的微调框还大,而且我也看不到微调框中的下拉按钮。 如果你们从开始为Spinner创建9补丁程序映像并在应用程序中使用它开始,我很高兴为您提供清晰的教程。 旋转器代码 <Spinner android:id="@+id/spnIncredientone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/txtMixtureTitle" android:layout_marginLeft="5dip" android:layout_marginRight="5dip" android:background="@drawable/spinner_background" android:prompt="@string/selectmixture" />

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.