作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
现在我已经使用线性布局创建了键盘布局,每个键都是一个图像,例如“Q”、“W”、“E”是不同的图像。
问题是,如何在上面添加提示图片?这个想法是,默认情况下隐藏提示图像,当用户长按该键时,显示提示图像。
我有一组提示图片。有什么想法可以将它们添加到键盘布局吗?
非常感谢您的帮助。这是键盘布局引用
<LinearLayout
android:id="@id/training_keyboard"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentBottom="true"
android:padding="5dp"
android:background="@color/colorBg">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="10"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/key1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="手"
android:src="@drawable/keyboard_letter_r1_1" />
<ImageView
android:id="@+id/key2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="田"
android:src="@drawable/keyboard_letter_r1_2" />
<ImageView
android:id="@+id/key3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="水"
android:src="@drawable/keyboard_letter_r1_3" />
<ImageView
android:id="@+id/key4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="口"
android:src="@drawable/keyboard_letter_r1_4" />
<ImageView
android:id="@+id/key5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="廿"
android:src="@drawable/keyboard_letter_r1_5" />
<ImageView
android:id="@+id/key6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="卜"
android:src="@drawable/keyboard_letter_r1_6" />
<ImageView
android:id="@+id/key7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="山"
android:src="@drawable/keyboard_letter_r1_7" />
<ImageView
android:id="@+id/key8"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="戈"
android:src="@drawable/keyboard_letter_r1_8" />
<ImageView
android:id="@+id/key9"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="人"
android:src="@drawable/keyboard_letter_r1_9" />
<ImageView
android:id="@+id/key10"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="心"
android:src="@drawable/keyboard_letter_r1_10" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="10"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/key11"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="日"
android:src="@drawable/keyboard_letter_r2_1" />
<ImageView
android:id="@+id/key12"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="尸"
android:src="@drawable/keyboard_letter_r2_2" />
<ImageView
android:id="@+id/key13"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="木"
android:src="@drawable/keyboard_letter_r2_3" />
<ImageView
android:id="@+id/key14"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="火"
android:src="@drawable/keyboard_letter_r2_4" />
<ImageView
android:id="@+id/key15"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="土"
android:src="@drawable/keyboard_letter_r2_5" />
<ImageView
android:id="@+id/key16"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="竹"
android:src="@drawable/keyboard_letter_r2_6" />
<ImageView
android:id="@+id/key17"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="十"
android:src="@drawable/keyboard_letter_r2_7" />
<ImageView
android:id="@+id/key18"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="大"
android:src="@drawable/keyboard_letter_r2_8" />
<ImageView
android:id="@+id/key19"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:tag="中"
android:padding="2dp"
android:src="@drawable/keyboard_letter_r2_9" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="10"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/sound"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="2"
android:padding="2dp"
android:src="@drawable/sound_on" />
<ImageView
android:id="@+id/key20"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="難"
android:src="@drawable/keyboard_letter_r3_1" />
<ImageView
android:id="@+id/key21"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="金"
android:src="@drawable/keyboard_letter_r3_2" />
<ImageView
android:id="@+id/key22"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="女"
android:src="@drawable/keyboard_letter_r3_3" />
<ImageView
android:id="@+id/key23"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="月"
android:src="@drawable/keyboard_letter_r3_4" />
<ImageView
android:id="@+id/key24"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="弓"
android:src="@drawable/keyboard_letter_r3_5" />
<ImageView
android:id="@+id/key25"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="1"
android:padding="2dp"
android:tag="一"
android:src="@drawable/keyboard_letter_r3_6" />
<ImageView
android:id="@+id/reload"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_weight="2"
android:padding="2dp"
android:src="@drawable/reload" />
</LinearLayout>
</LinearLayout>
最佳答案
使用弹出窗口。在您的关键 View 上方显示 popupView。
private void showPopUp(View v) {
LinearLayout layout = new LinearLayout(this);
layout.setBackgroundColor(Color.GRAY);
TextView tv = new TextView(this);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
tv.setText("I'm a pop -----------------------------!");
tv.setTextColor(Color.WHITE);
layout.addView(tv);
popupWindow = new PopupWindow(layout,120,120);
popupWindow.setFocusable(true);
popupWindow.setOutsideTouchable(true);
popupWindow.setBackgroundDrawable(new BitmapDrawable());
int[] location = new int[2];
v.getLocationOnScreen(location);
popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0], location[1]-popupWindow.getHeight());
}
关于android - 如何在android中构建键盘提示布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41163041/
我是一名优秀的程序员,十分优秀!