GUIリモコンを設計していますが、リモートボタンごとに別々のボタンを作成するのではなく、完全な準備ができたリモートイメージを取得し、クリック可能な部分を設定します。 これを行うにはモーションイベントではなく方法がありますか?画像のクリック可能な領域
答えて
私はあなたの両方のための2つの解決策を持っています。両方の画像は、クリック可能なままですが、クリックした領域についての情報を得ることができます。
解決方法1:
あなたは最終的にあなたがクリックされたエリアを知るために来ることができる画像をマスクし、その下にimage.soのピクセル色を得ることができます。
ここでクリックするたびに、ピクセルの色がbackground image
であることを確認し、クリックされた領域を知るために設定された定義済みの色と一致させることができます。
前景画像:
背景画像:
クリッカブルエリア:まだ混乱し
?
参考: チュートリアルthisをご利用いただきますようお願いいたします。
解決方法2:
あなたは座標を使用して画像をマッピングすることができますし、それに応じてあなたがクリックされた領域の情報を取得することができます。
例:あなたはこのようになりますカンザスためhere
座標からごmappedimageを作成することができ
あなたは座標を認識していない場合は、座標と MappedImage、
<area shape="poly" coords="243,162,318,162,325,172,325,196,244,196" id="@+id/area14" name = "Kansas"/>
参考: Android Image Mappingをご覧ください。
私はそれが参考になることを願っています!
大丈夫、ありがとう.......私はすぐにそれをテストされます –
ありがとう!どのようにチタン合金のアプリケーションでこれらの方法のいずれかを使用する任意のアイデア? – learner123
イメージをズームしてピクセルを取得する必要がある場合はどうすればよいですか?それは同じ色を返しますか? –
ボタンは引き続き使用できます。
画像上に適切な場所に配置して、見えなくすることができます。
XMLで<Button android:visibility="invisible"/>
それとも
Button mybutton = (Button) v1;
mybutton.setVisibility(View.INVISIBLE);
私はそれにいくつかのボタンを持つ相対レイアウトを持っています。私が相対レイアウト上に背景イメージを設定し、ボタンを不可視に設定すると、onClickはトリガされません。私はそれらを目に見えるように設定します。 – Rule
これはあなたのボタンを見えなくする方法に依存しませんか?つまり、 'visibility'属性を' gone'(または 'invisible')に設定すると、クリックできませんが、ボタンの背景を100%透明にしようとするとどうなりますか?クリックイベント(??) –
@sealzこのソリューションは気に入っていますが、可視性は機能しませんでした。私は背景を透明にし、それは働いた。 – jcaruso
私は、同じ課題を持っていたあなたがいる場合
onPhotoTap(View view, float x, float y){}
イベントをリッスンしてチェックすることができるライブラリー"PhotoView"、とそれを解決タブは画像領域の内側にあり、特定のタスクを実行します。
他の開発者がこのような機能をより迅速に実装するためのライブラリを作成しました。 Githubにあります:ClickableAreasImages
このライブラリを使用すると、画像内のクリック可能な領域を定義し、オブジェクトを関連付けてその領域のタッチイベントを聴くことができます。
ライブラリを使用する方法:@sealz返信を改善
public class MainActivity extends AppCompatActivity implements OnClickableAreaClickedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Add image
ImageView image = (ImageView) findViewById(R.id.imageView);
image.setImageResource(R.drawable.simpsons);
// Create your image
ClickableAreasImage clickableAreasImage = new ClickableAreasImage(new PhotoViewAttacher(image), this);
// Initialize your clickable area list
List<ClickableArea> clickableAreas = new ArrayList<>();
// Define your clickable areas
// parameter values (pixels): (x coordinate, y coordinate, width, height) and assign an object to it
clickableAreas.add(new ClickableArea(500, 200, 125, 200, new Character("Homer", "Simpson")));
clickableAreas.add(new ClickableArea(600, 440, 130, 160, new Character("Bart", "Simpson")));
}
// Listen for touches on your images:
@Override
public void onClickableAreaTouched(Object item) {
if (item instanceof Character) {
String text = ((Character) item).getFirstName() + " " + ((Character) item).getLastName();
Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
}
}
...
}
円などの長方形ではない領域のクリックを確認する必要がある場合はどうすればよいですか?あなたのライブラリーでは使えますか?ありがとう。 – trinity420
、ここに私の答え:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_centerInParent="true"
android:layout_alignTop="@+id/mail"
android:layout_alignBottom="@+id/mail"
>
<Button
android:id="@+id/leftMail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight=".5"
android:background="@android:color/transparent"
/>
<Button
android:id="@+id/rightMail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight=".5"
android:background="@android:color/transparent"
/>
</LinearLayout>
<ImageView
android:id="@+id/mail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/mail1600x600"
android:layout_centerInParent="true"
/>
</RelativeLayout>
- 1. 画像内のクリック可能な領域
- 2. 画像のクリック可能な領域
- 3. 画像サイズが異なるクリック可能な画像領域
- 4. WPF - WP7の画像マップ/カスタムシェイプのクリック可能な領域
- 5. Java。スイング。 JComponentのクリック可能な領域
- 6. CSS背景画像(スプライト)をクリック可能な領域にするには?
- 7. 画像の特定の領域のみがクリック可能です - HTML/CSS
- 8. クリック可能な領域がある3D回転可能キューブ
- 9. ウェブページの大きなクリック可能な領域
- 10. Firefoxの小さなクリック可能な領域
- 11. Unityのアイコンの周りのクリック可能な領域
- 12. Android Studio XML ImageViewに必要なクリック可能な領域
- 13. ラベルなしchechboxクリック可能な領域を拡張
- 14. 画像のマッピング領域
- 15. 画像の領域認識
- 16. ListViewでクリック可能な領域の幅onListItemClick
- 17. iPhone、マップ、クリック可能な非長方形の領域
- 18. Android:ビューのクリック可能な領域を減らすには?
- 19. アンカー要素のクリック可能な領域を拡大する
- 20. マップボックスマーカー - クリック可能な領域のサイズをカスタマイズする
- 21. 不規則な形状の画像にクリック可能な領域を作成する
- 22. タッチ可能な領域よりも小さい画像のUIボタン
- 23. ボタンやクリック可能な領域を生成
- 24. クリック可能な領域はイメージビュー内にありますか?
- 25. キャンバスでクリック可能な領域を追加する方法
- 26. クリック可能な領域を特定する
- 27. オーバーフローするクリック可能な領域を削除する
- 28. Nodejsのアップロードされた画像にクリック可能な領域を追加する方法
- 29. オラクルのAPEXのドラッグ可能な領域
- 30. Kentico 9 - プログラム可能な編集可能な画像領域(CMSEditableImage)へのコンテンツの追加
あなたは一つの画像でそれをすべてを作りたいですか? – kabuto178
@ kabuto178はい.... –
はどうにかして画像を行と列に分割する方法ですか? –