Текстовая галерея на Android? - PullRequest
8 голосов
/ 13 июля 2010

У меня есть галерея с TextView для достижения контроллера сегмента на изображении ниже.Я могу добиться этого на примере галереи ApiDemo, но я отстаю от внешнего вида галереи.

Я хочу сделать фон, Выбранный / Отмененный и выбранный элемент не будет находиться в центреэкран.

Любые идеи или статьи являются самыми благодарными.

image http://www.freeimagehosting.net/uploads/cce47da969.png

Я пытался использовать 2 способа.это:

  1. Gallery View
  2. horizontal ScrollView

Выходной сигнал показан на следующем рисунке:

image http://www.freeimagehosting.net/uploads/b4c1be5924.png

У меня проблема с обоими, чтобы получить правильный вывод.

В режиме просмотра галереи

  • не может изменить фон выбранного элемента и сделать его закругленным углом.
  • Выбранный элемент находится в центральной горизонтали экранаАвтоматически.

В горизонтальном представлении

  • Более сложно, когда число textView велико.
  • Не удается найти способ, аналогичныйНа элементе щелчка.если у меня есть случай использования переключателя.предыдущая проблема возникает снова.

1 Ответ

10 голосов
/ 14 июля 2010

поместите это в drawables text_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/round" />
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/round" />
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/round_selected" />
    <item android:drawable="@drawable/round" />
</selector>

round.xml

    <?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
     <gradient android:startColor="#FFEF95" android:endColor="#FFEF95"   
            android:angle="270"/> 
<corners android:bottomRightRadius="14dp" android:bottomLeftRadius="14dp" 
     android:topLeftRadius="14dp" android:topRightRadius="14dp"/> 

</shape>

round_selected.xml

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle"> 
     <gradient android:startColor="#F6A110" android:centerColor="#FFEF95" android:endColor="#F6A110"   
            android:angle="270"/> 
<corners android:bottomRightRadius="14dp" android:bottomLeftRadius="14dp" 
     android:topLeftRadius="14dp" android:topRightRadius="14dp"/> 

</shape>

А вот и текстовое представление для раздувания

 <TextView    
        android:id="@+id/perioxi_select" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Select Area"
         android:gravity="center_vertical|center_horizontal"
         android:background="@drawable/text_selector"
         android:minHeight="60dp"
         style="@style/FirstText"   
         android:layout_weight="1"
        />

Получить стиль тоже. должен быть размещен внутри res / valus / styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources> 
 <style name="FirstText"> 
        <item name="android:colorForeground">#f0f</item> 
        <item name="android:padding">4sp</item> 
        <item name="android:textSize">15sp</item> 
        <item name="android:textColor">#CC3300</item> 
        <item name="android:gravity">left</item> 
        <item name="android:typeface">monospace</item> 
        <item name="android:textStyle">bold</item> 
        <item name="android:colorBackground">#999</item> 
    </style> 
  </resources>
...