1
0
Fork 0
mirror of https://github.com/MatomoCamp/matomocamp-companion-android.git synced 2024-09-19 16:13:46 +02:00

Removed underline for persons and room links and unify their appearance.

Disabled instance state save for TextViews showing heavy text or custom spans.
This commit is contained in:
Christophe Beyls 2017-01-09 12:25:46 +01:00
parent bedab2071c
commit 1e748874d9
3 changed files with 21 additions and 11 deletions

View file

@ -19,11 +19,11 @@ import android.support.v4.content.Loader;
import android.text.Spannable; import android.text.Spannable;
import android.text.SpannableString; import android.text.SpannableString;
import android.text.SpannableStringBuilder; import android.text.SpannableStringBuilder;
import android.text.TextPaint;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.method.LinkMovementMethod; import android.text.method.LinkMovementMethod;
import android.text.method.MovementMethod; import android.text.method.MovementMethod;
import android.text.style.ClickableSpan; import android.text.style.ClickableSpan;
import android.text.style.UnderlineSpan;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
@ -155,15 +155,19 @@ public class EventDetailsFragment extends Fragment {
final int roomImageResId = getResources().getIdentifier(StringUtils.roomNameToResourceName(roomName), "drawable", getActivity().getPackageName()); final int roomImageResId = getResources().getIdentifier(StringUtils.roomNameToResourceName(roomName), "drawable", getActivity().getPackageName());
// If the room image exists, make the room text clickable to display it // If the room image exists, make the room text clickable to display it
if (roomImageResId != 0) { if (roomImageResId != 0) {
roomText.setSpan(new UnderlineSpan(), 0, roomText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); roomText.setSpan(new ClickableSpan() {
textView.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
RoomImageDialogFragment.newInstance(roomName, roomImageResId).show(getFragmentManager()); RoomImageDialogFragment.newInstance(roomName, roomImageResId).show(getFragmentManager());
} }
});
textView.setFocusable(true); @Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
}
}, 0, roomText.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setMovementMethod(linkMovementMethod);
} }
textView.setText(roomText); textView.setText(roomText);
textView.setContentDescription(getString(R.string.room_content_description, roomText)); textView.setContentDescription(getString(R.string.room_content_description, roomText));
@ -481,6 +485,12 @@ public class EventDetailsFragment extends Fragment {
Intent intent = new Intent(context, PersonInfoActivity.class).putExtra(PersonInfoActivity.EXTRA_PERSON, person); Intent intent = new Intent(context, PersonInfoActivity.class).putExtra(PersonInfoActivity.EXTRA_PERSON, person);
context.startActivity(intent); context.startActivity(intent);
} }
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
}
} }
private static class LinkClickListener implements View.OnClickListener { private static class LinkClickListener implements View.OnClickListener {

View file

@ -39,6 +39,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:saveEnabled="false"
tools:text="FOSDEM Staff"/> tools:text="FOSDEM Staff"/>
<View <View
@ -66,11 +67,12 @@
<TextView <TextView
android:id="@+id/room" android:id="@+id/room"
style="@style/Metadata.Selectable" style="@style/Metadata"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_place_grey600_18dp" android:drawableLeft="@drawable/ic_place_grey600_18dp"
android:drawableStart="@drawable/ic_place_grey600_18dp" android:drawableStart="@drawable/ic_place_grey600_18dp"
android:saveEnabled="false"
tools:text="Janson (Building J)"/> tools:text="Janson (Building J)"/>
</LinearLayout> </LinearLayout>
@ -82,6 +84,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/translucent_grey" android:background="@color/translucent_grey"
android:padding="@dimen/content_margin" android:padding="@dimen/content_margin"
android:saveEnabled="false"
android:textIsSelectable="true" android:textIsSelectable="true"
tools:text="FOSDEM welcome and opening talk."/> tools:text="FOSDEM welcome and opening talk."/>
@ -91,6 +94,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="@dimen/content_margin" android:padding="@dimen/content_margin"
android:saveEnabled="false"
android:textIsSelectable="true" android:textIsSelectable="true"
tools:text="Welcome to FOSDEM 2015!"/> tools:text="Welcome to FOSDEM 2015!"/>

View file

@ -110,10 +110,6 @@
<item name="android:drawablePadding">8dp</item> <item name="android:drawablePadding">8dp</item>
</style> </style>
<style name="Metadata.Selectable">
<item name="android:background">?attr/selectableItemBackground</item>
</style>
<style name="Header"> <style name="Header">
<item name="android:layout_width">match_parent</item> <item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item> <item name="android:layout_height">wrap_content</item>