Android 动态添加Spinner(.java文件内实现) 实现 改变spinner 内文字属性

动态添加spinner 控件

Spinner s = new Spinner(this);
String []items={"自己定义的要显示的数组"};
my_SpinnerAdapter array_adapter =new my_SpinnerAdapter(this, android.R.layout.simple_spinner_item, items);
array_adapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(array_adapter);
用内部类 改写ArrayAdapterclass my_SpinnerAdapter extends ArrayAdapter<String> {
          Context context;
         String [] objects;
          public my_SpinnerAdapter(Context context, int textViewResourceId,
            String[] items) {
           super(context, textViewResourceId, items);
           this.context = context;
           this.objects = items;
          }
          @Override
          public View getDropDownView(int position, View convertView,
            ViewGroup parent) {
           // 这个函数修改的是spinner点击之后出来的选择的部分的字体大小和方式
           if (convertView == null) {
            LayoutInflater inflater = LayoutInflater.from(context);
            convertView = inflater.inflate(android.R.layout.simple_spinner_dropdown_item, parent, false);
           }

           //这里使用的text1 直接复制过来就行 不用重新起名 否则可能找不到这个文本框 是系统默认的
           TextView tv = (TextView) convertView.findViewById(android.R.id.text1);
           tv.setText(objects[position]);
           tv.setTextSize(18);// 这里实现显示文字的设置
           return convertView;
          }
          @Override
          public View getView(int position, View convertView, ViewGroup parent) {
                   //这个函数修改的选择完spinner中的东西后 显示在屏幕上的字体的大小
                   if (convertView == null) {
                       LayoutInflater inflater = LayoutInflater.from(context);
                       convertView = inflater.inflate(
                               android.R.layout.simple_spinner_item, parent, false);
                   }  

              //这里使用的text1 直接复制过来就行 不用重新起名 否则可能找不到这个文本框 是系统默认的
             TextView tv = (TextView) convertView.findViewById(android.R.id.text1);
             tv.setText(objects[position]);
             tv.setTextSize(18);
                   return convertView;
          }

         }
时间: 2024-10-05 14:03:20

Android 动态添加Spinner(.java文件内实现) 实现 改变spinner 内文字属性的相关文章

android 动态添加控件并实现每个子控件的点击事件

需求:我们要点击进入一家店铺,根据不同的店铺,显示不同条数的子条目 如:消毒间,洗菜间等...这些都是或多或少的,所以需要动态添加: 首先自定义View(linearLayout): package cn.qust.fang.widget; import io.vov.vitamio.MediaPlayer; import io.vov.vitamio.widget.MediaController; import io.vov.vitamio.widget.VideoView; import a

Android AIDL自动生成Java文件测试

/******************************************************************************** * Android AIDL自动生成Java文件测试 * 说明: * 知道有aidl这东西已经挺久了,但是一直没有花时间来系统了解一下其工作机制,现在 * 花点时间一点一点验证一下其功能. * * 2016-5-8 深圳 南山平山村 曾剑锋 ***********************************************

Android动态添加布局

//1.利用LayoutInflater的inflate动态加载XML mLinearLayout = (LinearLayout)findViewById(R.id.LinearLayout_ID); LayoutInflater layoutInflater = LayoutInflater.from(context); View view = layoutInflater.inflate(resource--需要加载的XML, null); XML:resource = R.layout.

Android动态添加Fragment

Android动态添加Fragment 效果图如下: 项目结构图如下: Fragment1: package com.demo.dongtaifragment; import android.app.Fragment; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.view.LayoutI

Android动态添加和移除布局

1 package com.hyang.administrator.studentproject; 2 3 import android.os.Bundle; 4 import android.support.v7.app.AppCompatActivity; 5 import android.view.LayoutInflater; 6 import android.view.View; 7 import android.widget.Button; 8 import android.widg

关于Android 动态加载 jar 文件

1.1 首先需要了解一点:在Android中可以动态加载,但无法像Java中那样方便动态加载jar 原因:Android的虚拟机(Dalvik VM)是不认识Java打出jar的byte code,需要通过dx工具来优化转换成Dalvik byte code才行.这一点在咱们Android项目打包的apk中可以看出:引入其他Jar的内容都被打包进了classes.dex. 所以这条路不通,请大家注意. 1.2 当前哪些API可用于动态加载 1.2.1 DexClassLoader 这个可以加载j

Android 动态添加图片 换行

<strong>近在项目中用到动态添加图片,然后换行的实现.刚开始想用GridView,但是没用,什么原因到是忘了.下面我记录一下我的实现方式.</strong> <strong> </strong> 看代码xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.andro

android动态添加view

动态添加一个view. 首先,搞清楚是哪个view(子view),要添加到哪个view(父view)中:其次,子view的属性怎么设置:这两个问题明白了,就容易了. 举个例子:比如要在一个LinearLayout中添加一个Button,  子view是Button,父view是LinearLayout. 子view的属性就是通过LayoutParams来设置的,注意是LinearLayout.LayoutParams,因为子view的高度,宽度这些都是针对父view的,要告诉父view自己要占用

Android动态加载so文件

在Android中调用动态库文件(*.so)都是通过jni的方式,而且往往在apk或jar包中调用so文件时,都要将对应so文件打包进apk或jar包,工程目录下图: 以上方式的存在的问题: 1.缺少灵活性比较类似静态加载了(不是静态加载),能加载的so文件绑定死了: 2.但so文件很多或很大时,会导致对应的apk和jar包很大: 3.不能动态的对so文件更新: Android中加载so文件的提供的API: void System.load(String pathName); 说明: 1.pat