我想在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>
Run Code Online (Sandbox Code Playgroud)
我的微调器的代码是:
<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" />
Run Code Online (Sandbox Code Playgroud)
但似乎没有任何效果.
我的资产文件夹中有一个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) 如果我们看到一个微调器,它看起来像一个textview,并在textview右侧有一个图像.在摩托罗拉里程碑中,图像是向下箭头而在三星Galaxy ace中它是右箭头.我可以使用以下代码将背景图像设置为微调器.但我不想改变背景图像.我想改变那个形象.如何设置微调器的图像.
Spinner sp1 = (Spinner) findViewById(R.id.spnContactTypes1);
sp1.setBackgroundResource(R.drawable.icon);
Run Code Online (Sandbox Code Playgroud)