Question

I have a custom dialog which extends the Dialog class and a simple custom layout like the one from below:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:drawable/list_selector_background"
    >


<TextView
        android:id="@+id/text_view"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:gravity="center_vertical"
        android:paddingLeft="10dp"
        android:background="@color/transparent"
        android:textColor="@color/black"
        android:textSize="16sp"
        android:focusable="true"/>   

My problem is that the trackball makes the text not visible when a row is selected like in the attached image.

enter image description here

The list_selector_background code is from Android and it looks like this:

<?xml version="1.0" encoding="utf-8"?>
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -->

<item android:state_window_focused="false" android:drawable="@color/transparent" />

<!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
<item android:state_focused="true"  android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true"                                android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="false"                               android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="true"                                                             android:drawable="@drawable/list_selector_background_focus" />

And my ListView xml code is this:

<ListView xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"
          android:drawSelectorOnTop="true"
          android:background="@color/white"
          android:cacheColorHint="@color/transparent">

</ListView>

I saw that on an AlertDialog (the one from Android) is working ok. What should I do to solve this problem?

Thanks

Was it helpful?

Solution

try this: remove "android" text from this line. like;

android:background="@drawable/list_selector_background"

add in list view

android:cacheColorHint="@android:color/transparent"
android:drawSelectorOnTop="false"
android:listSelector="@android:color/transparent"
android:fadingEdge="none"

this one work for me

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top