标签: spinner

在WPF中具有良好的NumericUpDown等价物?

我在WPF中寻找一个简单的NumericUpDown(又名数字微调器)控件.这似乎是WPF中另一个缺乏控制的.必须有一些现有的,我不喜欢重新发明轮子.

wpf numericupdown spinner

100
推荐指数
1
解决办法
10万
查看次数

100
推荐指数
6
解决办法
26万
查看次数

如何隐藏Android Spinner中的一个项目

我正在寻找一种方法来隐藏Android微调框小部件中的一个项目.这将允许您模拟没有选择项目的微调器,并确保始终为所选的每个项目调用onItemSelected()回调(如果隐藏项目是"当前"项目).通常,微调器中总有一个项不会生成回调,即当前的回调.

stackoverflow上有一些关于如何禁用(灰显)项目的代码,而不是如何完全隐藏项目,就好像它们不存在一样.

经过多次实验,我想出了一个适用于各种新旧Android平台的黑客解决方案.它有一些小的化妆品缺点,很难注意到.我仍然希望听到一个更正式的解决方案,除了"不要用旋转器做那个".

这总是隐藏微调器中的第一个项目,但可以相当容易地扩展以隐藏任意项目或多个项目.在微调器项列表的开头添加一个包含空字符串的虚拟项.您可能希望在微调器对话框打开之前将当前微调器选择设置为项目0,这将模拟未选择的微调器.

使用ArrayAdapter方法的Spinner设置示例覆盖:

List<String> list = new ArrayList<String>();
list.add("");   //  Initial dummy entry
list.add("string1");
list.add("string2");
list.add("string3");

// Populate the spinner using a customized ArrayAdapter that hides the first (dummy) entry
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list) {
    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent)
    {
        View v = null;

        // If this is the initial dummy entry, make it hidden
        if (position == 0) {
            TextView tv = new TextView(getContext());
            tv.setHeight(0);
            tv.setVisibility(View.GONE);
            v = tv; …
Run Code Online (Sandbox Code Playgroud)

android spinner

99
推荐指数
4
解决办法
5万
查看次数

如何以编程方式将字体自定义字体设置为Spinner文本?

我的资产文件夹中有一个ttf字体文件.我知道如何将它用于textviews:

Typeface externalFont=Typeface.createFromAsset(getAssets(), "fonts/HelveticaNeueLTCom-Lt.ttf");
textview1.setTypeface(externalFont);
Run Code Online (Sandbox Code Playgroud)

我已经定义了在我自己的xml文件中查找我的微调器文本(如在android中的usuall):

<?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" />
Run Code Online (Sandbox Code Playgroud)

我只是无法从代码中引用此textview,我总是得到空指针异常.我尝试过:

TextView spinner_text=(TextView)findViewById(R.id.text1);
spinner_text.setTypeface(externalFont);
Run Code Online (Sandbox Code Playgroud)

即使我自己的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, ViewGroup parent) {
                 View v = super.getView(position, convertView, parent);

                 Typeface externalFont=Typeface.createFromAsset(getAssets(), "fonts/HelveticaNeueLTCom-Lt.ttf");
                 ((TextView) v).setTypeface(externalFont);

                 return v;
         }


         public View getDropDownView(int position,  View convertView,  ViewGroup parent) {
                  View v =super.getDropDownView(position, convertView, …
Run Code Online (Sandbox Code Playgroud)

fonts android spinner android-fonts android-spinner

89
推荐指数
3
解决办法
7万
查看次数

Android:Spinner小部件的文本颜色属性隐藏在哪里?

从下拉列表中选择项目后,我正在尝试更改微调器按钮中显示的单个项目的文本颜色.我一直在Android SDK中浏览themes.xml和styles.xml一小时,我似乎无法找到Spinner从中获取颜色值的位置.

为了澄清,我不是试图改变下拉项的颜色,我试图在没有下拉列表的情况下改变微调器显示文本的颜色.我想你可以称之为微调器的"按钮"文本.

android text colors spinner

76
推荐指数
5
解决办法
9万
查看次数

Spinner不会包装文本 - 这是一个Android错误吗?

如果项目的文本Spinner太长而无法放入一行,则文本不会被包装但会被剪切掉.这是对于壳体API级别> = 11.以下是Android 4.2.2(左)的屏幕截图,其中显示了错误的行为,Android 2.3.3(右)显示了预期的内容.

android:singleLine="false"这里简单地被忽略了.因此,所有其他尝试,如android:lines,android:minLines等等.TextView不知何故似乎比窗口宽度宽得多.

我看到其他人有同样的问题,但没有人能找到解决方案.那么,这是一个系统错误吗?我不认为操作系统版本之间存在这种不一致.


请注意:

有一些答案表明相对简单的解决方案.

  • 编写自定义Adapter和覆盖getView()以及getDropDownView().这不是解决方案,因为在这一点上,仍然存在原始问题:布局如何处理正确的换行?

  • TextView下拉视图包装到父级中ViewGroup.不起作用,android:layout_width="match_parent"因为父母的宽度似乎是无限的.

  • 给下拉视图一个固定的宽度.这不适合具有不同的宽度Spinner.

  • 当然,没有办法在\n任何地方手动插入文本.


使用以下代码重现:

更新:我还在GitHub上下载了这个示例项目:下载

/res/values/arrays.xml:

<string-array name="items">
    <item>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt.</item>
    <item>At vero eos et accusam et justo duo dolores et ea rebum. …
Run Code Online (Sandbox Code Playgroud)

android spinner android-layout android-spinner

66
推荐指数
6
解决办法
4万
查看次数

Android Spinner具有"下拉状态"和"关闭状态"的不同布局?

我的布局中有一个Android Spinner视图.我希望该微调器在关闭时只显示一个文本项,但是当用户点击它时(即打开微调器对话框)我想为每个项显示更多信息,包括图标和其他描述文本视图.现在,微调器在两种状态下都显示了相同的布局(图标,标题+描述).

如果我将一个ArrayAdapter附加到微调器,那么我可以访问一个名为"setDropDownViewResource"的东西,但这不一定是我需要的东西,因为我的微调器数据是从一个Cursor中提取的,而不是从任何类型的数组中取出的(我现在有, ,创建了我自己的适配器,扩展了BaseAdapter).

谁可以帮助我?

android spinner android-spinner

62
推荐指数
4
解决办法
3万
查看次数

如何创建Android Spinner作为弹出窗口?

当用户点击菜单项以允许用户选择项目时,我想调出微调器对话框.

我是否需要单独的对话框,还是可以直接使用Spinner?我看到这个链接,提到了一个MODE_DIALOG选项,但它似乎不再被定义了.AlertDialog可能没问题,但所有选项都说"单击列表中的项目不会忽略对话框"这就是我想要的.有什么建议吗?

理想情况下,代码类似于在屏幕上显示微调器的情况:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(activity,
     android.R.layout.simple_spinner_item, items);              
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
myspinner.setAdapter(adapter);  
// myspinner.showAsDialog() <-- what i want             
Run Code Online (Sandbox Code Playgroud)

android dialog spinner

59
推荐指数
6
解决办法
10万
查看次数

在android中禁用Spinner

我在使用时遇到问题android:enabled="false",它不会在组件的情况下禁用组件spinner.不知道它是否相关,但它属于一个布局viewflipper.

任何提示或解决方法?

谢谢

android spinner

55
推荐指数
4
解决办法
6万
查看次数

WPF加载微调器

目标是显示应用程序正在运行的信息.所以我正在寻找使用WPF/MVVM的加载微调器的智能实现示例.

c# wpf loading mvvm spinner

52
推荐指数
8
解决办法
11万
查看次数