当前位置:首页 » 安卓系统 » androidmipmap

androidmipmap

发布时间: 2022-10-07 13:29:36

1. Android studio中怎么用自己的.jpg图片作为应用图标,放在mipmap下的文件在修改时找不到

图标找不到哦,你看看是不是放在其他的文件夹了。
Android支持.jpg 作为应用图标。可放在前缀为drawable或mipmap的所有文件夹中
在AndroidManifests 设置 <application android:icon="这里是图片或者xml"
></application> 这个属性即可替换图标
android:roundIcon="@mipmap/ic_launcher_round" 这个属性是设置圆形图片的,如果你有的话,放进去,没有的话设置同一张或者删掉不写这个属性,有些手机换主题会使用这个属性

2. android开发如何用高德地图进行模拟定位.

一、 要实现高德地图定位呢,首先需要做好以下几步准备:
1. 在高德开放平台注册帐号

2. 在开发中下载Android平台下的地图SDK和定位SDK文件
进入相关下载下载自己想要的功能或文件,图只是截取了地图SDK的页面,定位SDK也是一样,按自己想要的文件下载。下载完成后解压得到:
- 3D地图包解压后得到:3D地图显示包“AMap_3DMap_VX.X.X_时间.jar”和库文件夹(包含armeabi、arm64-v8a等库文件)。
- 2D地图包解压后得到:2D地图显示包“AMap_2DMap_VX.X.X_时间.jar ”
- 定位SDK下载并解压得到定位包“AMap_Location_V2.x.x.jar“
3. 添加jar包,将jar包放入工程的libs目录下。

对于每个jar文件,右键-选择Add As Library,导入到工程中。或者使用菜单栏 选择 File ->Project Structure->Moles-> Dependencies。点击绿色的加号选择File dependency. 然后选择要添加的jar包即可,此时build.gradle中会自动生成如下信息。

创建自己的应用(创建过程内需要的SHA1已经的博客讲过)

开发环境已经配置好了,接下来就是敲代码了。
二、 首先我们要做的就是将地图显示出来,通过以下几步操作,即可在应用中使用高德地图SDK:
第一步:添加用户key 在工程的“ AndroidManifest.xml ”文件如下代码中添加您的用户 Key。
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"

android:theme="@style/AppTheme">
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="" />123456789

第二步:添加所需权限 在工程的“ AndroidManifest.xml ”文件中进行添加。
//地图包、搜索包需要的基础权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

//定位包、导航包需要的额外权限(注:基础权限也需要)
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />1234567891011121314

第三步:在布局xml文件中添加地图控件。
<com.amap.api.maps2d.MapView
android:id="@+id/map_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />1234

第四步,创建地图Activity,管理地图生命周期。
public class MainActivity extends Activity {
private MapView mMapView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取地图控件引用
mMapView = (MapView) findViewById(R.id.map_view);
//在activity执行onCreate时执行mMapView.o

mMapView.onCreate(savedInstanceState);
}
@Override
protected void onDestroy() {
super.onDestroy();
//在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
mMapView.onDestroy();
}
@Override
protected void onResume() {
super.onResume();
//在activity执行onResume时执行mMapView.onResume (),实现地图生命周期管理
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
//在activity执行onPause时执行mMapView.onPause (),实现地图生命周期管理
mMapView.onPause();
}
@Override

protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
//在activity执行onSaveInstanceState时执行mMapView.onSaveInstanceState (outState),实现地图生命周期管理
mMapView.onSaveInstanceState(outState);
}

}

注意:一定要有mMapView.onCreate(savedInstanceState);
第二步:启动定位功能:
1. 在主线程中获得地图对象AMap,并设置定位监听且实现LocationSource接口:

public class MainActivity extends Activity implements LocationSource{1
if (aMap == null) {
aMap = mMapView.getMap();
//设置显示定位按钮 并且可以点击
UiSettings settings = aMap.getUiSettings();
aMap.setLocationSource(this);//设置了定位的监听,这里要实现LocationSource接口
// 是否显示定位按钮
settings.setMyLocationButtonEnabled(true);
aMap.setMyLocationEnabled(true);//显示定位层并且可以触发定位,默认是flase
}123456789
2. 配置定位参数,启动定位

//初始化定位

mLocationClient = new AMapLocationClient(getApplicationContext());
//设置定位回调监听,这里要实现AMapLocationListener接口,AMapLocationListener接口只有onLocationChanged方法可以实现,用于接收异步返回的定位结果,参数是AMapLocation类型。
mLocationClient.setLocationListener(this);
//初始化定位参数
mLocationOption = new AMapLocationClientOption();
//设置定位模式为Hight_Accuracy高精度模式,Battery_Saving为低功耗模式,Device_Sensors是仅设备模式
mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
//设置是否返回地址信息(默认返回地址信息)
mLocationOption.setNeedAddress(true);
//设置是否只定位一次,默认为false
mLocationOption.setOnceLocation(false);
//设置是否强制刷新WIFI,默认为强制刷新
mLocationOption.setWifiActiveScan(true);
//设置是否允许模拟位置,默认为false,不允许模拟位置
mLocationOption.setMockEnable(false);
//设置定位间隔,单位毫秒,默认为2000ms
mLocationOption.setInterval(2000);
//给定位客户端对象设置定位参数
mLocationClient.setLocationOption(mLocationOption);
//启动定位
mLocationClient.startLocation();

高精度定位模式:
在这种定位模式下,将同时使用高德网络定位和GPS定位,优先返回精度高的定位

低功耗定位模式:
在这种模式下,将只使用高德网络定位

仅设备定位模式:
在这种模式下,将只使用GPS定位。

3. 实现AMapLocationListener接口,获取定位结果:

public class MainActivity extends Activity implem

@Override
public void onLocationChanged(AMapLocation aMapLocation) {
if (aMapLocation != null) {
if (aMapLocation.getErrorCode() == 0) {
//定位成功回调信息,设置相关消息
aMapLocation.getLocationType();//获取当前定位结果来源,如网络定位结果,详见官方定位类型表
aMapLocation.getLatitude();//获取纬度
aMapLocation.getLongitude();//获取经度
aMapLocation.getAccuracy();//获取精度信息
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date(aMapLocation.getTime());
df.format(date);//定位时间
aMapLocation.getAddress();//地址,如果option中设置isNeedAddress为false,则没有此结果,网络定位结果中会有地址信息,GPS定位不返回地址信息。
aMapLocation.getCountry();//国家信息
aMapLocation.getProvince();//省信息
aMapLocation.getCity();//城市信息
aMapLocation.getDistrict();//城区信息
aMapLocation.getStreet();//街道信息
aMapLocation.getStreetNum();//街道门牌号信息
aMapLocation.getCityCode();//城市编码
aMapLocation.getAdCode();//地区编码

// 如果不设置标志位,此时再拖动地图时,它会不断将地图移动到当前的位置
if (isFirstLoc) {
//设置缩放级别
aMap.moveCamera(CameraUpdateFactory.zoomTo(17));
//将地图移动到定位点
aMap.moveCamera(CameraUpdateFactory.changeLatLng(new LatLng(aMapLocation.getLatitude(), aMapLocation.getLongitude())));
//点击定位按钮 能够将地图的中心移动到定位点
mListener.onLocationChanged(aMapLocation);
//获取定位信息
StringBuffer buffer = new StringBuffer();
buffer.append(aMapLocation.getCountry() + ""
+ aMapLocation.getProvince() + ""
+ aMapLocation.getCity() + ""
+ aMapLocation.getProvince()
+ aMapLocation.getDistrict() + ""
+ aMapLocation.getStreet() + ""
+ aMapLocation.getStreetNum());
Toast.makeText(getApplicationContext(), buffer.toString(), Toast.LENGTH_LONG).show();
isFirstLoc = false;
}
} else {
//显示错误信息ErrCode是错误码,errInfo是错误信息,详见错误码表。
Log.e("AmapError", "location Error, ErrCode:"
+ aMapLocation.getErrorCode() + ", errInfo:"
+ aMapLocation.getErrorInfo());
Toast.makeText(getApplicationContext(), "定位失败", Toast.LENGTH_LONG).show();
}
}
}3839404142434445464748495051
4.关于停止定位

@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
//mLocationClient.stopLocation();//停止定位
mLocationClient.onDestroy();//销毁定位客户端。
//销毁定位客户端之后,若要重新开启定位请重新New一个AMapLocationClient对象。
}

//激活定位
@Override
public void activate(OnLocationChangedListener onLocationChangedListener) {
mListener = onLocationChangedListener;
}

@Override
public void deactivate() {
mListener = null;
}12345678910111213141516171819

3. android mipmap mdpi怎么标

新建一个Android Studio项目,并将任务视图切换到“Project”下,这时可以看到,系统在res目录下,为我们创建了4个对应的drawable文件夹,如下图所示。

如果没有,请读者自行创建(另外还有ldpi的xxxhdpi这两个不常用到的类别,因此,我在这里省略了它们)。
每一个对应的drawable目录下,都应该相应地有一张相同的图片,只是分辨率不一样。这些图片文件都是按照目录名对应的dpi进行定制的。
应用中所有图片资源都会随应用安装到设备里,Android操作系统知道如何为不同的设备提供最佳匹配。注意,在为不同的设备准备适配图片的同时,应用安装包需要的容量也随之增大。当然,对于一些小项目,这些问题不是很明显。
如果应用不包含设备对应屏幕的像素密度文件,在运行时,Android系统会自动找到可用的图片资源,针对该设备进行适配。有了这个特性,就不必准备各种屏幕像素密度文件了。因此,为控制应用宝的大小,我们可以只为主流设备准备分辨率较高的定制图片资源。至于那些不常见的低分辨率设备,让Android系统自动适配就好。
使用mipmap图像
资源修饰符和drawable用起来都很方便。应用要用到图像,就针对不同的设备尺寸准备不同尺寸的图片,在分别放入drawable-mdpi之类的文件夹。然后,按名字引用它们。剩下的就交给Android了,它会根据当前设备的屏幕密度调用相应的图片。
但是,有个问题不得不提。发布到应用商店的APK文件包含了项目drawable目录里的所有图片,哪怕是从来不会用到的图片。这是一个负担。

4. Drawable和Mipmap的区别

studio mipmap 和drawable的区别!最近使用studio 发现drawle-hdpi 都没有了换成了mipmap-hdpi,这两个目录有什么区别呢?

使用上没有任何区别,你把它当drawable用就好了。

但是用mipmap系统会在缩放上提供一定的性能优化。

官方介绍:

Mipmapping for drawables

Using a mipmap as the source for your bitmap or drawable is a simple way to
provide a quality image and various image scales, which can be particularly
useful if you expect your image to be scaled ring an animation.

Android 4.2 (API level 17) added support for mipmaps in the Bitmap
class—Android swaps the mip images in your Bitmap when you've supplied a mipmap
source and have enabled setHasMipMap(). Now in Android 4.3, you can enable
mipmaps for a BitmapDrawable object as well, by providing a mipmap asset and
setting the android:mipMap attribute in a bitmap resource file or by calling
hasMipMap().

应用场景:

If you know that you are going to draw this bitmap at less than 50% of its
original size, you may be able to obtain a higher quality by turning this
property on. Note that if the renderer respects this hint it might have to
allocate extra memory to hold the mipmap levels for this bitmap.

一个应用实例:

Nexus 6

Screen

The Nexus 6 boasts an impressive 5.96” Quad HD screen display at a
resolution of 2560 x 1440 (493 ppi). This translates to ~ 730 x 410 dp (density
independent pixels).

Check your assets

It has a quantized density of 560 dpi, which falls in between the xxhdpi
and xxxhdpi primary density buckets. For the Nexus 6, the platform will scale
down xxxhdpi assets, but if those aren’t available, then it will scale up xxhdpi
assets.

Provide at least an xxxhdpi app icon because devices can display large app
icons on the launcher. It’s best practice to place your app icons in mipmap-
folders (not the drawable- folders) because they are used at resolutions
different from the device’s current density. For example, an xxxhdpi app icon
can be used on the launcher for an xxhdpi device.

p icon used on Nexus 6 device launcher

res/

mipmap-mdpi/

ic_launcher.png

mipmap-hdpi/

ic_launcher.png

mipmap-xhdpi/

ic_launcher.png

mipmap-xxhdpi/

ic_launcher.png

mipmap-xxxhdpi/

ic_launcher.png # App icon used on Nexus 6 device launcher

Choosing to add xxxhdpi versions for the rest of your assets will provide a
sharper visual experience on the Nexus 6, but does increase apk size, so you
should make an appropriate decision for your app.

res/

drawable-mdpi/

ic_sunny.png

drawable-hdpi/

ic_sunny.png

drawable-xhdpi/

ic_sunny.png

drawable-xxhdpi/ # Fall back to these if xxxhdpi versions aren’t
available

ic_sunny.png

drawable-xxxhdpi/ # Higher resolution assets for Nexus 6

ic_sunny.png

总结

这个实例总结一下是这样:

Nexus 6 有 493 ppi,它刚好在
xxhdpi和xxxhdpi之间,所以显示的时候需要对xxxhdpi的资源进行缩小,如果你用了mipmap-xxxhdpi,那么这里会对sclae有一个优化,性能更好,占用内存更少。所以现在官方推荐使用mipmap:

It’s best practice to place your app icons in mipmap- folders (not the
drawable- folders) because they are used at resolutions different from the
device’s current density.

5. androidstudio2.2中找不到mipmap-mdip,mipmap-hdip文件夹怎么办

建议重新安装显卡驱动,先把原来的驱动给卸载掉了,下载一个最新的驱动程序。建议直接下载一个驱动人生,他自动帮你安装驱动程序的了,里面也有一个驱动卸载的一栏,如果不会的话,在windows的设备管理器中卸载显卡驱动,在用驱动人生重新安装驱动,安装完成后重启计算机,一般完全可以解决问题的了。

6. Androidstudio如何在代码中用R.mipmap添加照片

imageView.setBackgroundResrouce(R.mipma.xxx);
imageView.setImageResrouce(R.mipma.xxx);
xml 中 src= 或者background=
望采纳

7. android app系统菜单 图标动态改变,怎么判断当前是哪个图标

我们知道,我们每写一个
Activity就要在AndroidManifest进行配置一下,我们才可以正常的启动它,除此之外,我们还可以对它设置一个别名,也就是用<activity-alias>标签,这个标签的属性,和<activity>的属性一致,可以做一个简单的分析:
?
1
2
android:icon="@mipmap/app_logo"
android:label="@string/app_name"
上面的两个属性是用来设置图标和标签。

8. android mipmap在哪

mipmap是图片资源文件,在res下:

每一个文件代表不同分辨率下,同张图片的像素点大小,长屏幕适配使用。

9. android studio selector 怎么引用mipmap

按安卓官网的说法是:
mipmap只是用来放启动图标的(原文:mipmap/ For app launcher icons.)。
而PNG、JPEG、GIF、点九图、XML,还是全部放在drawable.
而且用AndroidStudio新建一个项目,drawable文件夹和mipmap文件夹都存在,而所有的ic_launcher都放在mipmap里,也说明了这个问题。

热点内容
安卓手机硬件怎么升级 发布:2025-01-22 12:55:25 浏览:220
可编程脉冲电源 发布:2025-01-22 12:49:22 浏览:829
欧规墨规美规中东哪个配置高 发布:2025-01-22 12:48:00 浏览:777
安卓机怎么用不了多久 发布:2025-01-22 12:47:44 浏览:761
安卓怎么录屏别人直播 发布:2025-01-22 12:35:20 浏览:385
1030怎么配置电脑 发布:2025-01-22 12:35:19 浏览:89
sql数据库的端口 发布:2025-01-22 12:20:02 浏览:363
安卓最终幻想8怎么设置中文 发布:2025-01-22 12:19:23 浏览:651
怎么查电脑配置和网络 发布:2025-01-22 12:19:16 浏览:586
linuxsnmp查看 发布:2025-01-22 12:17:49 浏览:37