小编Pep*_*tal的帖子

Android - 拖放 - 动画阴影到目的地

我想动画ShadowView一些坐标(到目标视图).

我正在使用D&D,如果用户使用drop(DragEvent.ACTION_DROP),那么在某些区域中的视图我想要为视图设置动画(从放置位置)到某个目标视图.

我不想从源位置动画视图,但想从DROP位置进行操作.

我尝试了很多东西,但没有任何作用.我怎样才能访问ShadowView?这也行不通:

EventDragShadowBuilder.getView()
Run Code Online (Sandbox Code Playgroud)

我认为TranslateAnimation应该适用于此,但我需要在D&D期间访问"阴影"视图.

图片: 在此输入图像描述

animation android drag-and-drop

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

如何在AlertDialog的布局中添加自定义按钮?

我有AlertDialog有正面和负面按钮.在AlertDialog布局中,我有EditText和两个按钮(btnAdd1,btnAdd2).我希望当用户点击Button btnAdd1或btnAdd2时,将相同的文本添加到AlertDialog中的EditText(但没有关闭AlertDialog).这可能是在AlertDialog中做的还是我只能使用Dialog?

这是AlertDialog的布局(R.layout.prompt):

<LinearLayout>
<EditText
    android:id="@+id/userInput"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="text" >

    <requestFocus />
</EditText>

<Button
    android:id="@+id/btnAdd1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="bla" />

<Button
    android:id="@+id/btnAdd2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="bla" />

  </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这是源代码:

    LayoutInflater layoutInflater = LayoutInflater.from(this);
        View promptView = layoutInflater.inflate(R.layout.prompt, null);

    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
    alertDialogBuilder.setView(promptView);
    alertDialogBuilder
            .setCancelable(false)
            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                              //...

                }
            })
            .setNegativeButton("Cancel",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();
                        }
                    });

    AlertDialog alertD = alertDialogBuilder.create();
    alertD.show();
Run Code Online (Sandbox Code Playgroud)

我想从布局中访问btnAdd1和btnAdd2.将OnClickListener()设置为这两个按钮.

layout android dialog button android-alertdialog

23
推荐指数
1
解决办法
3万
查看次数

Android:使用xml定义创建一个三角形的按钮(可绘制)

我想通过使用XML定义使用按钮(TextView)创建它:

我的形象

在我的活动布局中:

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button_arrow" <!-- I NEED IMPLEMENT THIS -->
        android:clickable="true"
        android:drawablePadding="7dp"
        android:gravity="center"
        android:drawableLeft="@drawable/music_cloud"
        android:onClick="exportSong"
        android:padding="20dp"
        android:text="@string/export_upload"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="@color/dark_yellow_text_color"
        android:textStyle="bold" />
Run Code Online (Sandbox Code Playgroud)

我创建了几个帖子:

制作-A-三角形形状使用-XML的定义

Android三角形(箭头)定义为XML形状

Android - 使用xml制作箭头形状

我尝试修改几个XML定义,但没有什么是好的.如何实现这种形状有一些简单的方法吗?它也应该有一个透明的背景.

xml android textview android-button android-drawable

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

Android:使用Zxing生成的二维码有边距(不适合该区域)

我在我的应用程序ZXing库中使用它来生成QR码.我想生成适合屏幕宽度的QR码(可能是一些小填充).

如果我将屏幕宽度设置为QR码的宽度尺寸,我会得到更小的QR码.看截图(它是320x240分辨率).我想要QR码适合黑色区域.为什么QR码的红色如此之小?

如何将其拉伸到黑色区域?

从应用程序

我的代码:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x; 

Bitmap bm = encodeAsBitmap(mGeneratedURL, BarcodeFormat.QR_CODE, width, width);
qrcodeImage.setImageBitmap(bm);
Run Code Online (Sandbox Code Playgroud)

生成QR码:

private Bitmap encodeAsBitmap(String contents, BarcodeFormat format, int img_width, int img_height) throws WriterException {
    String contentsToEncode = contents;
    if (contentsToEncode == null) {
        return null;
    }
    Map<EncodeHintType, Object> hints = null;
    String encoding = guessAppropriateEncoding(contentsToEncode);
    if (encoding != null) {
        hints = new EnumMap<EncodeHintType, Object>(EncodeHintType.class);
        //hints.put(EncodeHintType.CHARACTER_SET, encoding);
        hints.put(EncodeHintType.MARGIN, 0); /* default = 4 */ …
Run Code Online (Sandbox Code Playgroud)

android qr-code bitmap zxing

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

Android - Exoplayer 2 - 同时播放多个声音/音频 - MergingMediaSource

我在我的应用程序中使用了几个SimpleExoPlayer播放音频文件(Wav文件)的实例.我想同时播放所有这些文件.现在这些文件之间存在一些小差距.是否可以只有一个SimpleExoPlayer具有更多声音文件的实例?

我尝试过使用MergingMediaSource但现在正在使用.它只播放一个Wav文件(不是全部).

码:

        MediaSource ms = new MergingMediaSource(audioSources.toArray(new MediaSource[audioSources.size()]));
        mMediaPlayerTracker1.addListener(myExoPlayerEventListener);
        mMediaPlayerTracker1.prepare(ms);

        //Adding MediaSource to the ArrayList
        audioSources.add(new ExtractorMediaSource(
                    Uri.fromFile(new File(path)), mediaDataSourceFactory, defaultExtractorsFactory,
                    mainHandler, exoEventListener));
Run Code Online (Sandbox Code Playgroud)

audio android android-mediaplayer exoplayer

10
推荐指数
0
解决办法
929
查看次数

MPAndroidChart定义x轴上的值之间的精确/固定间隔(时间)

我在应用程序MPAndroidChart库中使用,我现在有这样的线图:

在此输入图像描述

在X轴上,我有几秒钟,我希望在X轴上的值之间具有相同的间隔.现在我有19:03和19:20,但我想要19:05,19:10,19:15(间隔300秒)......

我该怎么做?

现在我正在使用此功能:

 lineChart.setScaleMinima(115f, 1f);
Run Code Online (Sandbox Code Playgroud)

但它并不太好.此外,我希望它从5分钟间隔变为1小时或1天.

这可能吗?

android linegraph mpandroidchart

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

Android OkHttp库:GET请求 - 异常EOFException:\n未找到:size = 0 content =

我在我的应用程序OkHttp库(http://square.github.io/okhttp/)中使用,并在一个简单的GET请求中得到此异常:

Caused by: java.io.EOFException: \n not found: size=0 content=...
   at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:201)
   at com.squareup.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:191)
   ...

unexpected end of stream on Connection{th.it-bedna.cz:80, proxy=DIRECT@ hostAddress=85.118.128.42 cipherSuite=none protocol=http/1.1} (recycle count=0)
Run Code Online (Sandbox Code Playgroud)

对同一地址的其他Get请求可以正常工作.如果我向Chrome输入此请求,它也可以正常工作.你知道哪里有问题吗?

谢谢你的建议.

编辑:GET的代码

public Call doGetRequest(String url, Callback callback) {
    com.squareup.okhttp.Request request = new com.squareup.okhttp.Request.Builder()
            .url(url)
            .build();

    Call call = client.newCall(request);
    call.enqueue(callback);
    return call;
}
Run Code Online (Sandbox Code Playgroud)

使用:

void getData()
{
    String url = "http://th.it-bedna.cz/api/v2/event/1/user?i=8";
    Singleton.getInstance().doGetRequest(url, new Callback() {
        @Override
        public void onFailure(Request request, IOException e) {
            Log.i("CDT", "onFailure: " + e);
        }

        @Override …
Run Code Online (Sandbox Code Playgroud)

java android get http okhttp

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

Android - ImageView 只有一个圆角

我想像这样创建 ImageView(图像的右侧):

在此处输入图片说明

我在 CardView 布局中有它,所以我有圆角的卡片,但我需要单独创建图像的左下角(或右上角)。

我尝试了几个选项,但没有任何工作正常。

我怎样才能做到这一点?你有什么提示吗?

android rounded-corners imageview android-imageview material-components-android

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

Android Espresso:ViewPager没有适配器实例

我在我的Android(4.0+)应用程序片段(在Activity中)使用Tab栏.

我想创建Espresso测试但是如果我创建主要Activity并打开片段.我得到这个例外:

java.lang.IllegalStateException: ViewPager does not have adapter instance.
at com.astuetz.PagerSlidingTabStrip.setViewPager(PagerSlidingTabStrip.java:177)
at cz.villamemories.detoxme.staticcontent.StaticContentFragment.onCreateView(StaticContentFragment.java:197)
Run Code Online (Sandbox Code Playgroud)

片段中的代码:

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

        mViewPagerAdapter = new StaticContentPagerAdapter(
                this.getChildFragmentManager(), mItemsList, categories);

        mPager.setAdapter(mViewPagerAdapter);

        mTabs.setViewPager(mPager); //line 197
Run Code Online (Sandbox Code Playgroud)

你有什么提示可能有问题吗?怎么了?

android android-fragments android-testing android-espresso

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

算法 - 查找数组的最佳元素

我有一组相互不同的元素(x_1,x_2,...,x_n).每个元素都有一个正值(w_1,w_2,...,w_n).这些正值的总和为1.

条件1

我必须找到一个Optimal元素(x_k),它是:

条件2

condition3

我发现这个算法:

proc OptimalElement(arr[])
 prevs_w := 0
 nexts_w := 0

 for (i = 0; i <= n; i++)
 {
   wi := arr[i].w

   nexts_w := 1 - prevs_w - wi

   IF (prevs_w < 0,5 && nexts_w <= 0,5) THEN
     return arr[i]
   ELSE
     prevs_w := prevs_w + wi
   ENDIF
 }
end
Run Code Online (Sandbox Code Playgroud)

但是该算法仅比较索引为i <k且i> k的项的总和.但我需要算法来计算x_i <x_k和x_i> x_k的项目总和.

算法应该有O(n)时间.你知道怎么解决吗?Thx提示.

输入示例:

x_i | 1; 4; 2; 3; 5
w_i | 0,1; 0,2; 0,3; 0,2; 0,2

arrays sorting algorithm median

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