小编sur*_*udi的帖子

活动中的Android捏合和缩放图像

我有一组带有图像的ListView.单击其中任何一个,单击的图像将显示在新活动上,并在ImageView中活动的中心,也是Zoomable.问题是,当我缩放图像时,它会获得缩放,但也会像拖放一样移动.我应该消除图像的移动,并且只能从活动的中心进行缩放.

ZoomInZoomOutActivity.java

public class ZoomInZoomOutActivity extends Activity implements OnTouchListener 
{
    private static final String TAG = "Touch";
    @SuppressWarnings("unused")
    private static final float MIN_ZOOM = 1f,MAX_ZOOM = 1f;

    Matrix matrix = new Matrix();
    Matrix savedMatrix = new Matrix();
    static final int NONE = 0;
    static final int DRAG = 1;
    static final int ZOOM = 2;
    int mode = NONE;
    PointF start = new PointF();
    PointF mid = new PointF();
    float oldDist = 1f;
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState); …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-imageview pinchzoom

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

Android地图视图错误:您只能在MapActivity中拥有一个MapView

我正在创建一个带有操作栏和2个标签的应用程序.像这样:在此输入图像描述

Tab1:点击时应显示某个地方的一些细节.Tab2:点击后应显示地图.

我正在使用Fragments.

我的tablistener:

private class MyTabListener implements ActionBar.TabListener {
        @Override
        public void onTabSelected(Tab tab,
                android.support.v4.app.FragmentTransaction ft) {
            // TODO Auto-generated method stub
            if (tab.getPosition() == 0) {
                DetailsFragment fragment = new DetailsFragment();
                ft.replace(android.R.id.content, fragment);

            } else {
                MapsFragment fragment = new MapsFragment();
                ft.replace(android.R.id.content, fragment);
                //ft.commit();
            }
        }
Run Code Online (Sandbox Code Playgroud)

MapsFragment.java

public class MapsFragment extends MapFragment {

    private MapView map = null;
    private MyLocationOverlay me = null;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        return (new FrameLayout(getActivity()));
    }

    @Override …
Run Code Online (Sandbox Code Playgroud)

android android-fragments actionbarsherlock-map

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

搜索视图的操作栏.反向兼容性问题

我正在构建一个示例应用程序来演示带有过滤器和其他Action Bar项目的SearchView.我能够在4.2(Nexus 7)上成功运行这个应用程序.但它不是在2.3上运行.我用Google搜索了这个问题.来了解我应该使用SherLock Action吧.我刚刚访问http://actionbarsherlock.com/download.html,下载了zip文件,并在视频中添加了库:http://www.youtube.com/watch? v = 4GJ6yY1lNNY&feature = player_embedde由WiseManDesigns提供.但我仍然无法弄清楚这个问题.

这是我的代码:

SearchViewActionBar.java

public class SearchViewActionBar extends Activity implements SearchView.OnQueryTextListener 
{
    private SearchView mSearchView;
    private TextView mStatusView;
    int mSortMode = -1;
    private ListView mListView;
    private ArrayAdapter<String> mAdapter;

    protected CharSequence[] _options = { "Wild Life", "River", "Hill Station", "Temple", "Bird Sanctuary", "Hill", "Amusement Park"};
    protected boolean[] _selections =  new boolean[ _options.length ];


    private final String[] mStrings = Cheeses.sCheeseStrings;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().requestFeature(Window.FEATURE_ACTION_BAR);

        setContentView(R.layout.activity_main);

       // …
Run Code Online (Sandbox Code Playgroud)

android actionbarsherlock android-actionbar searchview

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

如何使主线程等待,当我不知道什么时候Async任务完成工作.

我正在使用Async任务解析包含一些名称的xml文件,并通过主线程再次将这些名称填充到列表视图中.但在我的情况下发生的是,当Async任务仍在运行时,主线程已经将名称填充到listview,这导致listview上没有项目.我应该让主线程等到Async任务完成工作还是有其他方法来解决这个问题.如果是,当我不知道异步任务可能需要多长时间才能使主线程等待.

android android-asynctask

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

Android adapter.getItem(position).getItemId()不起作用(方法getId()未定义类型Object)

我有一个listview,我使用自定义适配器将数据填充到列表视图表单DB.它的工作正常,但是当我点击列表项时,我想获得被点击的项目的ID以将其传递给下一个活动来做一些事情.但是当我点击列表项时,我无法获得ID.知道为什么会这样吗?

我的列表监听器:

    list.setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> a, View view, int position,
                        long id) {


                    Intent intent = new Intent(MainActivity.this,
                            CountryActivity.class);
                     intent.putExtra("countryId", adapter.getItem(position).getId());//here i am getting error saying 
          //The method getId() is undefined for the type Object.

                    startActivity(intent);

                }
            });
Run Code Online (Sandbox Code Playgroud)

但是我已经为我的countries.java(POJO)定义了类型规范

public class Countries {
    Integer id;
    String countryName = "", countryIcon = "";

    public Countries(Integer id, String countryName, String countryIcon) {

        this.id = id;
        this.countryName = countryName;
        this.countryIcon = countryIcon;
    }

    public Integer getId() {
        return id; …
Run Code Online (Sandbox Code Playgroud)

android listviewitem android-listview android-adapter

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

Android On Orientation改变崩溃

PlaceActivity托管两个片段

  1. PlaceDetailsFragment - 具有视图寻呼机 - PlaceSlideFragment
  2. PlaceMapFramgment - 托管Google地图

当我尝试更改方向时,应用程序崩溃时出现以下错误日志.

01-12 15:24:57.950: E/AndroidRuntime(30412): FATAL EXCEPTION: main
01-12 15:24:57.950: E/AndroidRuntime(30412): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.m7.nomad/com.m7.nomad.PlaceActivity}: android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment com.m7.nomad.fragments.PlaceSlideFragment: make sure class name exists, is public, and has an empty constructor that is public
01-12 15:24:57.950: E/AndroidRuntime(30412):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1968)
01-12 15:24:57.950: E/AndroidRuntime(30412):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993)
01-12 15:24:57.950: E/AndroidRuntime(30412):    at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3363)
01-12 15:24:57.950: E/AndroidRuntime(30412):    at android.app.ActivityThread.access$700(ActivityThread.java:127)
01-12 15:24:57.950: E/AndroidRuntime(30412):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1163)
01-12 15:24:57.950: E/AndroidRuntime(30412):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-12 15:24:57.950: E/AndroidRuntime(30412):    at …
Run Code Online (Sandbox Code Playgroud)

android screen-orientation android-fragments android-orientation

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

Android - actionBar.setDisplayHomeAsUpEnabled问题

在扩展SherlockFragmentActivity的我的活动中,我有动作栏并且还设置了actionBar.setDisplayHomeAsUpEnabled(true)以回到我之前的活动.一切正常.但是当我点击主页按钮时,背景颜色应仅应用于应用程序图标,但它也适用于操作栏上的"标题",如屏幕截图所示.我不希望这种情况发生.当我点击主页按钮时,只有应用程序图标可以点击(应该只为应用程序图标应用背景颜色)而不是标题.知道我怎么能这样做?

在此输入图像描述

我的活动代码:

ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setTitle(some_string);
Run Code Online (Sandbox Code Playgroud)

android actionbarsherlock android-actionbar android-fragmentactivity

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

Android - 图像查看内部查看分页器问题

我在视图寻呼机内部有一个图像视图,以显示来自网址的一些图像,如下面的屏幕截图所示,

在此输入图像描述 但是,应填充图像(应占用整个视图寻呼机空间).但在我的情况下发生的是,即使我设置布局参数来填充父级,图像也会显示在中心.

我的片段,我返回布局与图像视图:

ImageView image = new ImageView(getActivity());

        ImageLoader imgLoader = new ImageLoader(MainActivity.context);
        imgLoader.DisplayImage(imagePath, new Activity(), image);

        LinearLayout layout = new LinearLayout(getActivity());
        layout.setLayoutParams(new LayoutParams());

        layout.setGravity(Gravity.CENTER);
        layout.addView(image);

        return layout;
Run Code Online (Sandbox Code Playgroud)

查看寻呼机:

<LinearLayout
            android:layout_width="match_parent"
            android:layout_height="225dp"
            android:background="@color/white"
            android:orientation="vertical" >

            <android.support.v4.view.ViewPager
                android:id="@+id/pager"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_weight="1" />
        </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

当图像仍然从url加载时,我会显示一些像动画一样的进度,一旦加载,我将在imageview中设置图像

if (bitmap != null) {
                imageView.setBackgroundResource(0);
                imageView.setImageBitmap(bitmap);

            } else {
                imageView.setBackgroundResource(R.drawable.view_pager_progress);
                final AnimationDrawable startAnimation = (AnimationDrawable) imageView
                        .getBackground();
                imageView.setScaleType(ScaleType.CENTER);// i tried FIT_XY, dint work
                startAnimation.start();
            }
Run Code Online (Sandbox Code Playgroud)

总结一下,我想要的是,视图内部寻呼机中的图像应该水平和垂直地填充视图寻呼机内的完整空间.知道怎么做吗?

android imageview android-layout layoutparams android-viewpager

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

使用res文件夹中的Drawable图像创建图像库

我是android的新手.我现在有一个要求.我需要在res/drawable文件夹中添加大约10个图像,并且在运行应用程序时我应该在listView上显示这些图像.选择任何图像我应该在新活动中显示此图像应该能够放大和缩小.请帮我解决一下示例代码.

提前致谢.

android listview image image-gallery

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

Android在片段中渲染Google Map

在此输入图像描述

如上所示,我有一个片段活动,可以产生两个片段.在地图片段我想要实现并显示地图.

由于我们需要扩展MapActivity,我不确定如何在片段内完成.

尝试从 (/sf/answers/751744031/)实施解决方案

package com.m7.nomad;

import android.app.LocalActivityManager;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.actionbarsherlock.app.SherlockFragment;
import com.actionbarsherlock.view.Window;

public class MapsFragment extends SherlockFragment {
    private static final String KEY_STATE_BUNDLE = "localActivityManagerState";
    private LocalActivityManager mLocalActivityManager;

    protected LocalActivityManager getLocalActivityManager() {
        return mLocalActivityManager;
    }

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

        Bundle state = null;
        if (savedInstanceState != null) {
            state = savedInstanceState.getBundle(KEY_STATE_BUNDLE);
        }

        mLocalActivityManager = new LocalActivityManager(getActivity(), true);
        mLocalActivityManager.dispatchCreate(state);
    }

    @Override
    public View onCreateView(LayoutInflater inflater, …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-mapview

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

Android - 自动关闭进度条

当应用程序启动时,我从main.xml文件中膨胀一个进度条,该文件显示为列表为空.一旦列表填充了来自URL的数据,我应该忽略此进度条.如何在不使用进度对话的情况下执行此操作?

我的main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <ListView
        android:id="@+id/list_view_places"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:drawSelectorOnTop="false"
        android:fastScrollEnabled="true" >
    </ListView>

    <ProgressBar
        android:id="@+id/empty_progress_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />

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

android progress-bar

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