mirror of https://github.com/FongMi/TV.git
parent
49b6c4d663
commit
748d1a78be
@ -0,0 +1,33 @@ |
||||
package com.fongmi.android.tv.ui.custom; |
||||
|
||||
import android.app.Activity; |
||||
import android.text.style.ClickableSpan; |
||||
import android.view.View; |
||||
|
||||
import androidx.annotation.NonNull; |
||||
|
||||
import com.fongmi.android.tv.bean.Result; |
||||
import com.fongmi.android.tv.ui.activity.VodActivity; |
||||
|
||||
public class CustomClickSpan extends ClickableSpan { |
||||
|
||||
private final Activity activity; |
||||
private final String json; |
||||
private final String key; |
||||
|
||||
public static CustomClickSpan create(Activity activity, String key, String json) { |
||||
return new CustomClickSpan(activity, key, json); |
||||
} |
||||
|
||||
public CustomClickSpan(Activity activity, String key, String json) { |
||||
this.activity = activity; |
||||
this.json = json; |
||||
this.key = key; |
||||
} |
||||
|
||||
@Override |
||||
public void onClick(@NonNull View view) { |
||||
VodActivity.start(activity, key, Result.type(json)); |
||||
} |
||||
} |
||||
|
||||
@ -1,24 +1,34 @@ |
||||
package com.fongmi.android.tv.ui.custom.dialog; |
||||
|
||||
import android.app.Activity; |
||||
import android.text.method.LinkMovementMethod; |
||||
import android.view.LayoutInflater; |
||||
import android.widget.TextView; |
||||
|
||||
import androidx.appcompat.app.AlertDialog; |
||||
|
||||
import com.fongmi.android.tv.databinding.DialogDescBinding; |
||||
import com.github.bassaer.library.MDColor; |
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder; |
||||
|
||||
public class DescDialog { |
||||
|
||||
public static void show(Activity activity, String desc) { |
||||
public static void show(Activity activity, CharSequence desc) { |
||||
new DescDialog().create(activity, desc); |
||||
} |
||||
|
||||
public void create(Activity activity, String desc) { |
||||
public void create(Activity activity, CharSequence desc) { |
||||
DialogDescBinding binding = DialogDescBinding.inflate(LayoutInflater.from(activity)); |
||||
AlertDialog dialog = new MaterialAlertDialogBuilder(activity).setView(binding.getRoot()).create(); |
||||
dialog.getWindow().setDimAmount(0); |
||||
binding.text.setText(desc); |
||||
initView(binding.text, desc); |
||||
dialog.show(); |
||||
} |
||||
|
||||
private void initView(TextView view, CharSequence desc) { |
||||
view.setLinksClickable(true); |
||||
view.setLinkTextColor(MDColor.BLUE_500); |
||||
view.setText(desc, TextView.BufferType.SPANNABLE); |
||||
view.setMovementMethod(LinkMovementMethod.getInstance()); |
||||
} |
||||
} |
||||
|
||||
@ -0,0 +1,32 @@ |
||||
package com.fongmi.android.tv.ui.custom; |
||||
|
||||
import android.app.Activity; |
||||
import android.text.style.ClickableSpan; |
||||
import android.view.View; |
||||
|
||||
import androidx.annotation.NonNull; |
||||
|
||||
import com.fongmi.android.tv.bean.Result; |
||||
import com.fongmi.android.tv.ui.activity.FolderActivity; |
||||
|
||||
public class CustomClickSpan extends ClickableSpan { |
||||
|
||||
private final Activity activity; |
||||
private final String json; |
||||
private final String key; |
||||
|
||||
public static CustomClickSpan create(Activity activity, String key, String json) { |
||||
return new CustomClickSpan(activity, key, json); |
||||
} |
||||
|
||||
public CustomClickSpan(Activity activity, String key, String json) { |
||||
this.activity = activity; |
||||
this.json = json; |
||||
this.key = key; |
||||
} |
||||
|
||||
@Override |
||||
public void onClick(@NonNull View view) { |
||||
FolderActivity.start(activity, key, Result.type(json)); |
||||
} |
||||
} |
||||
Loading…
Reference in new issue