小编Mar*_*cus的帖子

Android Studio有两种不同的清单文件

我在为Android Studio中的风格定义两个不同的清单文件时遇到问题.这是我目前的项目结构:

目前的项目结构

AndroidManifest.xmlfree味道是这样的:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="se.example.package">
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
</manifest>
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xmlmain味道没有用途的权限,但其中包含的是所有口味之间共享清单代码的其余部分.

AndroidManifest.xmlpro味道是这样的:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="se.example.package">
    <uses-permission android:name="com.android.vending.CHECK_LICENSE" />
</manifest>
Run Code Online (Sandbox Code Playgroud)

build.gradle定义了两种风格

productFlavors {
    free {
        applicationId 'se.example.package.free'
        minSdkVersion 14
        targetSdkVersion 21
        versionCode 1
        versionName '1.0'
    }
    pro {
        minSdkVersion 14
        applicationId 'se.example.package.pro'
        targetSdkVersion 21
        versionCode 2
        versionName '1.1'
    }
}
Run Code Online (Sandbox Code Playgroud)

我期待的结果是不同的风格定义了不同的使用权限.不是这种情况.结果目前两种口味仅定义了专业口味中<uses-permission android:name="com.android.vending.CHECK_LICENSE" />定义 …

android android-manifest android-studio android-gradle-plugin

56
推荐指数
5
解决办法
4万
查看次数

Android Studio:您必须指定Genymotion文件夹的路径才能使用此功能

我已经通过Android Studio中的插件向导下载并安装了Genymotion模拟器插件.我在Windows机器上运行Android Studio .

我收到警告说我必须提供Genymotion文件夹的路径:

警告

这个文件夹在哪里?我似乎无法在我的Android Studio安装文件夹中找到它.

android android-studio genymotion

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

禁用在选项卡之间滑动

我设置了两个Fragments的滑动标签,每个标签Fragment都有Button一个WebView.这样做的问题是,当WebView Button单击滑动选项卡仍然激活时,当用户尝试在您内导航时,WebView最终会滑动到另一个选项卡.在点击方法中是否有一种方法可以禁用选项卡的滑动功能?任何帮助将非常感谢!

这里的代码:

public class MyWebViewClass extends Fragment {

private WebView mWebView;
private Button mButton;

public MyWebViewClass() {
    // Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.fragment_webview, container, false);

    mWebView = (WebView) view.findViewById(R.id.WebView);

    mButton = (Button) view.findViewById(R.id.Button1);
    mButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mWebView.setVisibility(View.VISIBLE);
            mButton.setVisibility(View.GONE);
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.loadUrl("www.google.com"); …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-tabs

37
推荐指数
2
解决办法
3万
查看次数

如何使用方形毕加索库加载视频缩略图?

目前我正在使用picasso将MediaStore图像缩略图加载到ListView以下代码片段中:( video.getData()返回图像的实际路径,如mnt/sdcard/...)

Picasso.with(this.context)
       .load(new File(photo.getData()))
       .resize(50, 50).config(config)
       .centerCrop()
       .into(viewHolder.imageViewItem);
Run Code Online (Sandbox Code Playgroud)

现在我无法通过传递video.getData()而不是加载MediaStore视频缩略图photo.getData()

android picasso

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

无法解析符号@ drawable/ic_launcher

我的ImageView布局中有一个,见下面的代码.当我尝试将该src属性设置为我的启动器图标时,我收到以下错误:

Cannot resolve symbol '@drawable/ic_launcher'
Run Code Online (Sandbox Code Playgroud)

ic_launcer.png被添加到我的drawables文件夹中,见下图.为什么我不能在我的图像中引用我的图像ImageView

项目结构:

项目结构

Layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_weight="1"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageView
            android:src="@drawable/ic_launcher"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

android

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

在xml布局中引用build.gradle versionName属性

我想要一个引用versionName我的gradle文件中的属性的布局文件:

...
defaultConfig {
    applicationId "se.test.myapp"
    minSdkVersion 14
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
....
Run Code Online (Sandbox Code Playgroud)

就像是

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/versionName"
    />
Run Code Online (Sandbox Code Playgroud)

有没有一个简洁的方法,而不必在我的代码中设置布局?

android

18
推荐指数
2
解决办法
5436
查看次数

为什么RecyclerView.OnScrollListener不是一个接口而是一个抽象类?

要实现Endless Scroll模式,RecyclerView我想要创建一个类

public class EndlessScrollAdapter<VH extends ViewHolder> 
        extends RecyclerView.Adapter<VH> implements RecyclerView.OnScrollListener {
}
Run Code Online (Sandbox Code Playgroud)

因为EndlessScrollAdapter应该负责数据和滚动事件处理,这是实现它的最方便的方法.

但是,因为在recyclerview-v7-21.0.3,这样OnScrollListener宣布

/**
 * An OnScrollListener can be set on a RecyclerView to receive messages
 * when a scrolling event has occurred on that RecyclerView.
 *
 * @see RecyclerView#setOnScrollListener(OnScrollListener)
 */
abstract static public class OnScrollListener {
    /**
     * Callback method to be invoked when RecyclerView's scroll state changes.
     *
     * @param recyclerView The RecyclerView whose scroll state has changed. …
Run Code Online (Sandbox Code Playgroud)

android endlessscroll android-recyclerview

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

从图片网址获取缩略图网址

我有一个字符串URL指向存储在我的设备的外部存储器上的图像:

String imageUrl = "/storage/emulated/0/DCIM/100MEDIA/IMAG0823.jpg"
Run Code Online (Sandbox Code Playgroud)

我想获得查询MediaStore以获取此图像的缩略图.这就是我现在所做的:

private String getImageThumbnailPath(Context ctx, String imageUrl){

    Cursor cursor = MediaStore.Images.Thumbnails.queryMiniThumbnails(
            ctx.getContentResolver(), Uri.fromFile(new File(imageUrl)),
            MediaStore.Images.Thumbnails.MICRO_KIND,
            null);

    String url = "";
    if( cursor != null && cursor.getCount() > 0 ) {
        cursor.moveToFirst();
        url = cursor.getString( cursor.getColumnIndex( MediaStore.Images.Thumbnails.DATA ) );
        cursor.close();
    }
    return url;
} 
Run Code Online (Sandbox Code Playgroud)

但是,调用此方法并打印它的内容不显示任何内容(光标为空).

如何查询MediaStore与我的图片网址相关联的缩略图网址?

编辑

我还尝试直接从图像URL解析Uri,如下所示:

Cursor cursor = MediaStore.Images.Thumbnails.queryMiniThumbnails(
        ctx.getContentResolver(), Uri.parse(imageUrl),
        MediaStore.Images.Thumbnails.MINI_KIND,
        null);
Run Code Online (Sandbox Code Playgroud)

但结果是一样的.

android

14
推荐指数
2
解决办法
6507
查看次数

我有一个Recyclerview和一个包含5000个项目的列表,但我只想一次加载100个项目

Recyclerview在我的测试应用程序中实现了一个.目前,我将大约5000项数据拉入模型,并使用此列表加载我的视图.一切都很棒,表现很好,但我并不特别想要加载所有5000件物品.我宁愿加载100个项目,一旦用户点击底部,加载下一个100,并基本上使它成为一个不断增长的列表.

我可以实现onScrollListener反对Recyclerview我到达结束时的检测,但我的问题(这听起来很简单)是,告诉Recyclerview加载只有100直到我说的最佳方法是什么?

我的适配器:

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {

    private List<ImageFeed> mFeedList;

    public MyAdapter(List<ImageFeed> feedList) {
        this.mFeedList = feedList;
    }

    public void setFeedList(List<ImageFeed> feedList) {
        mFeedList = feedList;
    }

    @Override
    public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup vGroup, int i) {
        View v = LayoutInflater.from(vGroup.getContext()).inflate(R.layout.recycler_list, vGroup, false);
        return new MyAdapter.ViewHolder(v);
    }

    @Override
    public void onBindViewHolder(final MyAdapter.ViewHolder viewHolder, int i) {
        String mTitle = mFeedList.get(i).getTitle();

        ...//Do other stuff
    }

    @Override
    public int getItemCount() {
        return mFeedList.size();
    } …
Run Code Online (Sandbox Code Playgroud)

android listview android-recyclerview

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

RecyclerView:如何创建插入动画效果?

ReyclerView和a LinearLayoutManager和a 一起工作Adapter<ViewHolder>.我有一个项目列表,我想在recyclelerview中显示插入(幻灯片放入)动画.我该怎么做?

我想根据项目的索引显示具有线性增加延迟的动画.

目前,如果我使用2个按钮,'添加'和'删除',然后在recyclerview上执行相应的操作(notifyItemInserted()并且notifyItemRemoved(),动画很好地进行.

如果我以编程方式循环数据集并添加项目,再次使用notifyItemInserted(),我没有看到任何动画.我只看到所有项目几乎同时出现.

如果我使用具有线性延迟的Asynctasks,然后添加/删除项目OnPostExecute(),我仍然看不到任何动画.此外,如果多个插入线程正在等待所有删除线程完成(没有删除线程运行的位置),我看到可能会遇到死锁.

我究竟做错了什么 ?

我已经在SO上经历了与此相关的大部分问题,并且花了几天时间围绕着Recyclerview的动画部分,仍然没有运气.

animation android delay android-recyclerview

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