私は、インスタントグラムのように長いプレス画像のプレビューを実装しようとしています。私のアプリケーションは、画像が入っているカタログのようなもので、画像を長押しするとプレビューが表示され、画像が開いた後に閉じるようになっています。インスタントグラムのような長いプレス画像のプレビューを実装する方法
1
A
答えて
1
長押しのために使用このコードを
public class HintedImageButton extends ImageButton implements OnLongClickListener
{
private OnLongClickListener mOnLongClickListener;
public HintedImageButton(Context context)
{
super(context);
setOnLongClickListener(this);
}
public HintedImageButton(Context context, AttributeSet attrs)
{
super(context, attrs);
setOnLongClickListener(this);
}
@Override public void setOnLongClickListener(OnLongClickListener l)
{
if (l == this)
{
super.setOnLongClickListener(l);
return;
}
mOnLongClickListener = l;
}
@Override public boolean onLongClick(View v)
{
if (mOnLongClickListener != null)
{
if (!mOnLongClickListener.onLongClick(v))
{
handleLongClick();
return true;
}
}
else
{
handleLongClick();
return true;
}
return false;
}
private void handleLongClick()
{
String contentDesc = getContentDescription().toString();
if (!TextUtils.isEmpty(contentDesc))
{
int[] pos = new int[2];
getLocationInWindow(pos);
Toast t = Toast.makeText(getContext(), contentDesc, 1200);
t.setGravity(Gravity.TOP | Gravity.LEFT, pos[0] - ((contentDesc.length()/2) * 12), pos[1] - 128);
t.show();
}
}
}
詳細についてまあ、私は画像とリサイクルのビューを使用しています。このhttps://gist.github.com/scruffyfox/3894926
2
をご覧ください。
public void publicationQuickView(Post post){
View view = getLayoutInflater().inflate(R.layout.quick_view, null);
ImageView postImage = (ImageView) view.findViewById(R.id.ivFeedCenter);
ImageView profileImage = (ImageView) view.findViewById(R.id.ivUserProfile);
TextView tvUsername = (TextView) view.findViewById(R.id.txtUsername);
tvUsername.setText(post.user.name);
Picasso.with(this).load(post.picture).priority(Picasso.Priority.HIGH).noPlaceholder().into(postImage);
Picasso.with(this).load(post.user.picture).noPlaceholder().into(profileImage);
builder = new Dialog(this);
builder.requestWindowFeature(Window.FEATURE_NO_TITLE);
builder.getWindow().setBackgroundDrawable(
new ColorDrawable(Color.TRANSPARENT));
builder.setContentView(view);
builder.show();
}
私はレイアウトを膨らませるとダイアログに注入:
は、私は、このメソッドを呼び出し長押しリスナーを使用した画像を表示します。rvUserProfile.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
if(e.getAction() == MotionEvent.ACTION_UP)
hideQuickView();
return false;
}
@Override
public void onTouchEvent(RecyclerView rv, MotionEvent event) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}});
そして最後に:私は(RecyclerView.OnItemTouchListenerを使用していダイアログを閉じ
)このよう
public void hideQuickView(){
if(builder != null) builder.dismiss();
}
+0
に失敗しています。それは大丈夫です。しかし、ウィンドウが表示されている間にドラッグすると、リストビューがスクロールしていきます。その後、あなたが指を持ち上げると、ウィンドウが自動的に閉じない。 Instagramはこれをどうにかして解決しました。回避策を提案できますか? –
関連する問題
- 1. この画像のようなトラックバーを実装する方法 - Android?
- 2. Android:画像の上に描画を実装する方法
- 3. スマートな方法で画像のプレビューを作成/改善する
- 4. UNITY:UNITYプレビューをAndroidの肖像画のように見せる方法
- 5. jQueryによる画像プレビュー
- 6. 画像をトリミングする方法/画像をアップロードする前にユーザーから画像をプレビューする方法は?
- 7. カメラのプレビュー(サーフェイスビュー)から画像をトリミングし、実際の画像の代わりに保存する方法instagram appのようなbtカメラをキャプチャ?
- 8. PageDownのマークダウンエディタに画像アップロードを実装する方法は?
- 9. テンソルフローの画像にヒストグラム等化を実装する方法は?
- 10. Swift - "ポストのような"実装方法
- 11. 実装方法AngularJSのブラウザURLから画像の画像制限をドラッグできないのですか?
- 12. iosでフルスクリーンファイルのプレビューを実装する方法
- 13. 画像のドラッグによるOperaの問題プレビューを無効にする方法
- 14. javascriptの画像プレビュー
- 15. クリックした画像のプレビューを表示する方法は?
- 16. SwiftのローカルビデオURLからプレビュー画像を取得する方法
- 17. 画像のプレビューを正しく管理する方法
- 18. アップロード時に画像のプレビューを表示する方法
- 19. GoogleとLightbox +のような画像プレビュー機能Iframe
- 20. Google画像検索に似た画像ギャラリーを実装する方法
- 21. 画像アップロード画像プレビュー
- 22. 画像のプレビューに表示されるような異なるminimumTrackTintColorのUISlider
- 23. Extjs 4.2+でアップロードする前に画像をプレビューする方法
- 24. RSSプレビュー画像
- 25. selectedDraggable画像プレビュー
- 26. Android:RecyclerViewで画像ギャラリーを実装する方法
- 27. Xamarinでプログレッシブ画像アップロードを実装する方法
- 28. 'WMD' Web Markdownと画像アップロード機能を実装する方法
- 29. 画像にヒルベルト変換を実装する方法
- 30. Androidで画像歪み効果を実装する方法
それはダイアログのスタイルで活動するために、私はこれを実装し – HendraWD