Muszę wyświetlić imię i nazwisko osoby kontaktowej w środku koła, tak jak w kontaktach typu Lollipop. Nie znalazłem żadnego rozwiązania.Wyświetlanie nazwy kontaktu z początkową literą w kółku
Krąg powinien mieć inny kolor dla każdego użytkownika.
Muszę wyświetlić imię i nazwisko osoby kontaktowej w środku koła, tak jak w kontaktach typu Lollipop. Nie znalazłem żadnego rozwiązania.Wyświetlanie nazwy kontaktu z początkową literą w kółku
Krąg powinien mieć inny kolor dla każdego użytkownika.
Możesz śledzić this. Jeśli chcesz zaoszczędzić czas, możesz użyć biblioteki this.
Edit
Łącze może być nieważny dowolnym momencie. Więc chcę dodać szczegóły poniżej.
repositories{
maven {
url 'http://dl.bintray.com/amulyakhare/maven'
}
}
dependencies {
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
}
Możesz dodać, którą z metodologii obserwujesz.
Zasadniczo trzeba dodać jedną taką samą wysokość i szerokość i dodać tę TextDrawable
jako tło widoku.
TextDrawable drawable = TextDrawable.builder()
.buildRect("A", Color.RED);
ImageView image = (ImageView) findViewById(R.id.image_view);
image.setImageDrawable(drawable);
Biblioteka posiada wsparcie dla circle
, square
i rectangle
kanału alfa.
Chociaż jest to potencjalnie całkiem dobra odpowiedź, jest to w zasadzie odpowiedź "tylko link". Powinieneś zamieścić pewne informacje z twoich linków, aby jeśli informacje zawarte w linkach zostały zmienione/utracone, odpowiedź nadal ma sens. Zobacz [ten link] (http://meta.stackexchange.com/questions/225370/your-answer-is-in-another-castle-when-is-an-answer-not-an-answer) –
Dzięki za twój sugestie @JamesWebster. – ImMathan
@ImMathan to znacznie lepsza odpowiedź. Odwróciłem mój głos i wznowiłem –
nie widzę żadnej biblioteki dla tego, ale moje rozwiązanie jest narysować okrąg w czasie wykonywania w określonym układzie w swojej xml użyj: How to draw circle by canvas in Android?
Następnie w swoim liście adaptera wybierz pierwszą literę nazwy każdego ciąg znaków za pomocą podłańcuchów (0,1) , a za pomocą setText() można ustawić tekst pozycji listy na pierwszą literę. Jeśli potrzebujesz kodu źródłowego, daj mi znać, aby go umieścić.
UPDATE: Niedawno używane bardzo łatwy podejście do tego w jednym z moich aplikacji, należy zrobić układ jak ten w folderze układ:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rlWeekDay"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_gravity="right"
android:layout_margin="3dp"
android:background="@drawable/circle_shape">
<TextView
android:id="@+id/tvWeekDayFirstLetter"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text=" E "
android:textStyle="bold"
android:textColor="@color/colorPrimary"
android:textSize="20sp" />
</RelativeLayout>
A twój kształt rozciągliwej folderze, circle_shape.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval"
android:dither="true">
<corners
android:bottomRightRadius="100dp"
android:bottomLeftRadius="100dp"
android:topLeftRadius="100dp"
android:topRightRadius="100dp"/>
<solid android:color="#ccc" />
</shape>
</item>
<item android:bottom="3dp">
<shape android:shape="oval"
android:dither="true">
<solid android:color="@color/white"/> <!-- this one is ths color of the Rounded Button -->
<corners
android:bottomRightRadius="100dp"
android:bottomLeftRadius="100dp"
android:topLeftRadius="100dp"
android:topRightRadius="100dp"/>
</shape>
</item>
</layer-list>
Następnie w ListView lub stosowania niniejszego recyclerview jako elementu do inflate.like ten
Czy możesz podzielić się tym kodem, aby uzyskać więcej pomocy? –
@AlokRajasukumaran Rajasukumaran sprawdź AKTUALIZACJĘ podaną. –
co dotychczas próbowaliście? –
Starałem się zrobić to na zamówienie, ale szukałem wskazówek w projektowaniu materiałów, ponieważ aplikacja jest tworzona dla lollipopa. – Sudhanshu
Głosuję, aby zamknąć to pytanie jako nietypowe, ponieważ nie jesteśmy usługą pisania kodu. Powinieneś dołożyć wszelkich starań, aby samemu rozwiązać problem, a następnie zadaj pytanie, gdy masz konkretny problem. –