2015-01-02 80 views
0

我有一个自定义文本视图微调自定义文本视图削减:微调与棒棒糖设备

下面是代码:

<Spinner 
       android:id="@+id/spnr" 
       android:layout_width="fill_parent" 
       android:layout_height="30dp" 
       android:prompt="@string/list" /> 

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/text1" 
style="?android:attr/spinnerItemStyle" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:background="#3D98E1" 

在Android 5.0以上版本(棒棒糖设备)的文本切入一半并显示。

我需要微调器的高度只有30dp,我该如何解决这个问题?

回答

0

其实我不能理解你的要求,但是如果你想完全控制微调只使用这种技术。

您可以使用ListPopupWindow创建一个自定义微调控件到TextView,意味着当一个TextView被点击时,一个ListPopupWindow打开,如微调控件下拉列表,您可以选择一个元素。如果你需要,我会帮助你。

ListPopupWindow numberList; 
TextView spDays; 
ArrayList<Map<String, String>>() listTrans; 

in oncreate() spDays.setonclicklistner(this);spDays.setText("Select"); 
setNumberListSpinnerView(); 

in onclick(){ 
when spDays clicked :- numberList.show(); 
} 


void setNumberListSpinnerView() { 

numberList= new ListPopupWindow(this); 
numberList.setAnchorView(spDays); 

numberList.setOnItemClickListener((new AdapterView.OnItemClickListener() { 
    @Override 
    getListItem(); 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     Map map = listTrans.get(position); 
     spDays.setText(map.get("circle_name").toString()); 
     circle_name = map.get("circle_name") + ""; 
     circle_id = map.get("circle_id").toString(); 
     circleList.dismiss(); 
     Log.d("Circle id:", circle_id + ""); 
     getRetails(); 

    } 
})); 
} 


void getListItem(){ 
String[] numbers = {"1","2","3","4","5","6"}; 
listTrans = new ArrayList<Map<String, String>>(); 
LinkedHashMap<String, String> tran = new LinkedHashMap<String, String>(); 
for (String number : numbers) { 
    tran.put("numbers", number); 
    listTrans.add(tran); 
} 
SimpleAdapter adapter = new SimpleAdapter(AddRetailSurvey.this, listTrans, 
     android.R.layout.simple_spinner_dropdown_item, 
     new String[]{"numbers"}, 
     new int[]{android.R.id.text1}); 
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
numberList.setAdapter(adapter); 
} 

请检查此代码并根据您的要求进行修改。如果您发现任何问题,我在这里帮助您。 :)

0

我不知道为什么,但当我添加1dp虚拟填充的文本不再被切断。

<style name="YourSpinnerStyle" parent="Widget.AppCompat.Spinner.Underlined"> 
    <item name="android:gravity">center|start</item> 
    <item name="android:layout_width">match_parent</item> 
    <item name="android:layout_height">wrap_content</item> 
    <item name="android:padding">1dp</item> 
    <item name="android:textColor">@android:color/black</item> 
    <item name="android:textCursorDrawable">@null</item> 
    <item name="android:textSize">18sp</item> 
</style> 
相关问题