我有自定义Android键盘:
public class CustomKeyboard extends Keyboard{...}
public class CustomKeyboardView extends KeyboardView{...}
public class CustomKeyboardIME extends InputMethodService implements KeyboardView.OnKeyboardActionListener{...}
Run Code Online (Sandbox Code Playgroud)
在一些按键,我有popupKeyboard
和popupCharacters
:
<Key android:codes="144" android:keyLabel="0" android:popupKeyboard="@xml/key_popup" android:popupCharacters=")" android:keyEdgeFlags="right"/>
Run Code Online (Sandbox Code Playgroud)
XML/key_popup.xml:
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="10%p"
android:horizontalGap="0px"
android:verticalGap="0px"
android:keyHeight="@dimen/key_height" >
</Keyboard>
Run Code Online (Sandbox Code Playgroud)
但是当我长按"0"键弹出")"显示时,它会一直保持在那里直到我按下"X"按钮或")"字符.它看起来像这样:
而且我希望它只在我按住手指时打开.像三星或HTC键盘上的东西:
有谁可以帮助我吗?
编辑至少可以改变这个弹出窗口的外观吗?我希望它具有与我制作的整个键盘相同的背景和键
keyboard android keyboard-events android-softkeyboard android-input-method
有人可以建议我一个快速的方法或图书馆的颜色飞溅效果?例如,我选择一种颜色,并且除了我选择的颜色之外,所有颜色的照片都会去饱和.
我尝试过逐像素颜色检查,然后替换颜色,但对于大图像来说太慢了.
int width = originalImage.getWidth();
int height = originalImage.getHeight();
int[] pixels = new int[width * height];
originalImage.getPixels(pixels, 0, width, 0, 0, width, height);
for (int x = 0; x < pixels.length; ++x) {
pixels[x] = Distance(pixels[x], fromColor) < 4 ? targetColor : pixels[x];
}
Bitmap newImage = Bitmap.createBitmap(width, height, originalImage.getConfig());
newImage.setPixels(pixels, 0, width, 0, 0, width, height);
public int Distance(int a, int b) {
return Math.abs(Color.red(a) - Color.red(b)) + Math.abs(Color.green(a) -
Color.green(b)) + Math.abs(Color.blue(a) - Color.blue(b));
}
Run Code Online (Sandbox Code Playgroud)
编辑:
我正在使用 Android 的 Room 库来创建数据库。它有一个简单的表格,其中包含 ID、日期、标题、文本、地址和图像。
当我尝试将字节数组插入表中时出现问题(我通过 for 循环使用测试条目进行测试)。我正在将图像转换为byte[]
. 当我放置简单的字符串而不是图像时,它可以正常工作。
这是错误:
Failed to read row 0, column 0 from a CursorWindow which has 0 rows, 6 columns.
FATAL EXCEPTION: AsyncTask #1
Process: com.database.test.app, PID: 18552
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:309)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.lang.IllegalStateException: Couldn't read row 0, col 0 from CursorWindow. Make sure the Cursor is initialized correctly before accessing …
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,其中包含在 strings.xml 中的大量文本。该文本的一部分是必须可点击的超链接。
现在,当我从布局文件中将该文本插入到 TextView 中时,它可以工作,但是当我尝试使用 tv.settext(getStrings...) 将相同的文本插入到同一个 TextView 中时,它将不起作用。
这是代码:
字符串.xml:
<string name="some_text">
For you to see the article, you need to click <a href='http://www.google.com'>this link</a>
\n\n
after that etc...
</string>
Run Code Online (Sandbox Code Playgroud)
活动:
TextView txt = findViewById(R.id.link_tv);
txt.setMovementMethod(LinkMovementMethod.getInstance());
txt.setText(getString(R.string.some_text));
Run Code Online (Sandbox Code Playgroud)
活动_main.xml:
<TextView
android:id="@+id/link_tv"
android:textColor="@color/privacy_policy_link_text_color"
android:paddingLeft="@dimen/_5sdp"
android:paddingRight="@dimen/_5sdp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我有大约200小精灵(JPG图片)Assets>Textures>Pictures
,我也GameObject
有<SpriteRenderer>
.有没有办法让我GameObject
在代码中从该文件夹加载sprite ?就像是Resources.Load<Sprite>("path");
谢谢.
我为Android Wear制作了Watch Face.
但问题是图像缩放.当我调整大小时,背景,标记和小工具的图像质量会降低.
例如,我将480x480背景图像放在drawable-nodpi文件夹中(我也尝试过其他dpi),我将它重新缩放为:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inScaled = true;
Bitmap bgImage = BitmapFactory.decodeResource(context.getResources(), R.drawable.ticks_1, options);
bgImage = Bitmap.createScaledBitmap(bgImage , width, height, false);
Run Code Online (Sandbox Code Playgroud)
这是图像:
这就是我对手表的看法:
我在调整大小时做错了什么?
我正在尝试使用 InMobi 实施 AdMob 中介,但广告不会显示。我正在关注他们的文档,并添加了 SDK 和 AndroidX:
implementation 'com.google.firebase:firebase-ads:18.2.0'
implementation 'com.google.ads.mediation:inmobi:7.3.0.0'
android.enableJetifier=true
android.useAndroidX=true
Run Code Online (Sandbox Code Playgroud)
但是,当我使用中介测试套件时,我收到一个清单错误,如图像所示:
什么可能导致问题?
我有这样的表kopija:
idKopija | idFilm | nije_tu
1 | 1 | 0
2 | 1 | 0
3 | 1 | 1
4 | 2 | 1等
我有这样的查询:
var upit = from f in baza.films
join z in baza.zanrs on f.idZanr equals z.idZanr
join k in baza.kopijas on f.idFilm equals k.idFilm
select new
{
idFilm = f.idFilm,
nazivFilm = f.naziv,
nazivZanr = z.naziv,
idZanr = f.idZanr,
godina = f.godina,
slika = f.slika,
klip = f.klip,
nijeTu = k.nije_tu
};
if (checkBox1.Checked) …
Run Code Online (Sandbox Code Playgroud) 我想在ScrollView中创建一个自定义列表,但我无法在新的UI中设置它.
我有一个预制件,它是一个带有5个文本元素的面板.现在,ScrollView在场景中有一个水平和一个垂直滚动条,我想在另一个下面实例化 5个预制件,使它们看起来像一个桌子.
这是我做的,但它只是在彼此之上实例化并延伸它们:
for(int i=0; i<5; i++)
{
GameObject q = Instantiate(questionObjectModel) as GameObject;
q.transform.parent = questionListHolder.GetComponent<Transform>();
}
Run Code Online (Sandbox Code Playgroud)
questionObjectModel是场景中的ScrollView(我确实尝试在其中设置另一个面板和 _Istantiate_预制件).
编辑:
好的,我设法让它们不被拉伸.现在只需将它们设置在另一个下面:
q.transform.SetParent(questionListHolder.transform, false);
Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,用户可以在屏幕上移动他的图像,然后保存它.问题是在活动开始时将Bitmap定位在ImageView中.
这是XML:
<RelativeLayout
android:id="@+id/image_content_holder"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/top_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:scaleType="matrix"
android:gravity="center|center_vertical"
android:layout_gravity="center|center_vertical"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我正在使用onTouch移动ImageView(好吧,不是ImageView,但它的矩阵),它运行良好.
@Override
public boolean onTouch(View v, MotionEvent event)
{
ImageView view = (ImageView) v;
switch (event.getAction() & MotionEvent.ACTION_MASK)
{
case MotionEvent.ACTION_DOWN:
savedMatrix.set(matrix);
mode = DRAG;
start.set((int) event.getX(), (int) event.getY());
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_POINTER_UP:
mode = NONE;
break;
case MotionEvent.ACTION_MOVE:
if (mode == DRAG)
{
matrix.set(savedMatrix);
matrix.postTranslate(event.getX() - start.x, event.getY() - start.y);
}
break;
}
view.setImageMatrix(matrix);
return true;
}
Run Code Online (Sandbox Code Playgroud)
问题是Bitmap在Activity开始时的位置.它在Top | …