Show email status image/text using a single TextView, stop content overlapping

This commit is contained in:
str4d
2014-05-17 13:10:42 +00:00
parent 39b00c50f6
commit 19ce4f0369
2 changed files with 13 additions and 23 deletions

View File

@@ -43,6 +43,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignLeft="@+id/email_from" android:layout_alignLeft="@+id/email_from"
android:layout_below="@+id/email_from" android:layout_below="@+id/email_from"
android:layout_toStartOf="@+id/email_status"
android:ellipsize="end" android:ellipsize="end"
android:maxLines="1" android:maxLines="1"
android:text="Content" /> android:text="Content" />
@@ -67,24 +68,13 @@
android:visibility="gone" android:visibility="gone"
android:src="@drawable/ic_content_attachment" /> android:src="@drawable/ic_content_attachment" />
<ImageView <TextView
android:id="@+id/email_status" android:id="@+id/email_status"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignTop="@+id/email_content" android:layout_alignTop="@+id/email_content"
android:layout_alignBottom="@+id/email_content" android:layout_alignBottom="@+id/email_content"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:scaleType="fitEnd" android:visibility="gone" />
android:visibility="gone"
android:src="@drawable/ic_navigation_accept" />
<TextView
android:id="@+id/email_status_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/email_content"
android:layout_alignParentRight="true"
android:visibility="gone"
android:text="0%" />
</RelativeLayout> </RelativeLayout>

View File

@@ -98,17 +98,17 @@ public class EmailListAdapter extends ArrayAdapter<Email> {
// Set email status if we sent it // Set email status if we sent it
if (BoteHelper.isSentEmail(email)) { if (BoteHelper.isSentEmail(email)) {
TextView emailStatus = (TextView) v.findViewById(R.id.email_status_text); TextView emailStatus = (TextView) v.findViewById(R.id.email_status);
if (email.isDelivered()) if (email.isDelivered())
((ImageView) v.findViewById( emailStatus.setCompoundDrawablesWithIntrinsicBounds(
R.id.email_status)).setVisibility(View.VISIBLE); getContext().getResources().getDrawable(
else { R.drawable.ic_navigation_accept),
if (email.getDeliveryPercentage() > 0) null, null, null);
emailStatus.setText(email.getDeliveryPercentage() + "%"); else if (email.getDeliveryPercentage() > 0)
else emailStatus.setText(email.getDeliveryPercentage() + "%");
emailStatus.setText(BoteHelper.getEmailStatus(email)); else
emailStatus.setVisibility(View.VISIBLE); emailStatus.setText(BoteHelper.getEmailStatus(email));
} emailStatus.setVisibility(View.VISIBLE);
} }
} catch (MessagingException e) { } catch (MessagingException e) {
subject.setText("ERROR: " + e.getMessage()); subject.setText("ERROR: " + e.getMessage());