Изменение цвета текста галереи Android - PullRequest
1 голос
/ 05 января 2012

Я получил свой почтовый класс:

public class sub_gallery extends Gallery {

public sub_gallery(Context ctx, AttributeSet attrSet) {
    super(ctx, attrSet);
    // TODO Auto-generated constructor stub
}

private boolean isScrollingLeft(MotionEvent e1, MotionEvent e2){ 
       return e2.getX() > e1.getX(); 
    }

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY){
  int kEvent;
  if(isScrollingLeft(e1, e2)){ //Check if scrolling left
    kEvent = KeyEvent.KEYCODE_DPAD_LEFT;
  }
  else{ //Otherwise scrolling right
    kEvent = KeyEvent.KEYCODE_DPAD_RIGHT;
  }
  onKeyDown(kEvent, null);
  return true;  
}
}

И я называю это так:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_gallery_item, new ArrayList<String>());
    adapter.add("text1");
    adapter.add("text2");
    adapter.add("text3");
    adapter.add("text4"); 
sub_gallery g = (sub_gallery) findViewById(R.id.sub_gal);
    g.setAdapter(adapter);

А мой макет выглядит следующим образом:

<com.interfacetesting.android.email.sub_gallery
         android:id="@+id/sub_gal"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:background="#d0d0d0"
         android:layout_marginTop="10dp"
         android:gravity="center_horizontal"
        android:spacing="100px"
         />

Все работает как надо, но я не могу понять, как изменить цвет текста внутри галереи (в массиве) на всю жизнь ..

Любая помощь будет оценена: D

Спасибо

Ответы [ 2 ]

0 голосов
/ 04 июня 2012

Я пытался сделать это, и я обнаружил, что сработало заменить android.R.layout.simple_gallery_item на пользовательский макет элемента, например R.layout.gallery_item, следующим образом:

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="30dp"
    android:maxLines="1" 
    android:textColor="@color/gallery_item_color" 
/>

Затем создайте res/color/gallery_item_color.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true"
          android:color="#ffadff2f"/> 
    <item android:state_selected="false" 
          android:color="#ffbebebe"/>
</selector>
0 голосов
/ 05 января 2012

Вы пытались использовать свойство android: textColor = "# 000000"?

...