小编fil*_*pst的帖子

Android长按自定义键盘弹出键盘

我有自定义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)

在一些按键,我有popupKeyboardpopupCharacters:

<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

18
推荐指数
1
解决办法
5001
查看次数

Android颜色飞溅

有人可以建议我一个快速的方法或图书馆的颜色飞溅效果?例如,我选择一种颜色,并且除了我选择的颜色之外,所有颜色的照片都会去饱和.

我尝试过逐像素颜色检查,然后替换颜色,但对于大图像来说太慢了.

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)

编辑:

这是原始图像和处理过的图像,我保留的颜色是#ff9350: 在此输入图像描述 在此输入图像描述

android photo pixel image-processing

11
推荐指数
1
解决办法
341
查看次数

房间库不接受字节数组

我正在使用 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)

database arrays sqlite android android-room

6
推荐指数
1
解决办法
6201
查看次数

TextView 的一部分可通过链接点击

我有一个应用程序,其中包含在 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)

有什么想法吗?

android hyperlink textview

5
推荐指数
1
解决办法
1304
查看次数

Unity3d从Textures文件夹加载精灵

我有大约200小精灵(JPG图片)Assets>Textures>Pictures,我也GameObject<SpriteRenderer>.有没有办法让我GameObject在代码中从该文件夹加载sprite ?就像是Resources.Load<Sprite>("path");

谢谢.

sprite unity-game-engine unityscript

4
推荐指数
2
解决办法
1万
查看次数

位图缩放会破坏质量

我为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)

这是图像:

背景 在此输入图像描述

这就是我对手表的看法:

截图

我在调整大小时做错了什么?

android image image-resizing android-bitmap wear-os

4
推荐指数
1
解决办法
3601
查看次数

InMobi 广告的 AdMob 中介清单错误

我正在尝试使用 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)

但是,当我使用中介测试套件时,我收到一个清单错误,如图像所示:

在此处输入图片说明

什么可能导致问题?

android admob inmobi mobile-ad-mediation

4
推荐指数
1
解决办法
390
查看次数

实体框架因字段而异

我有这样的表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)

sql linq entity-framework

2
推荐指数
1
解决办法
2591
查看次数

Unity3D在新UI中实例化预制件列表

我想在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)

unity-game-engine unity3d-gui

2
推荐指数
1
解决办法
6329
查看次数

Android中心BitView在ImageView矩阵中

我正在开发一个应用程序,用户可以在屏幕上移动他的图像,然后保存它.问题是在活动开始时将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 | …

android bitmap matrix imageview

1
推荐指数
1
解决办法
4404
查看次数