當前位置:首頁 » 安卓系統 » 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里,也說明了這個問題。

熱點內容
sql打開bak文件 發布:2025-01-22 15:47:32 瀏覽:106
opengl伺服器源碼 發布:2025-01-22 15:40:02 瀏覽:908
python部署服務 發布:2025-01-22 15:38:46 瀏覽:282
壓縮機卡裝 發布:2025-01-22 15:37:04 瀏覽:446
每天跑步40分鍾可以緩解壓力嗎 發布:2025-01-22 15:33:24 瀏覽:448
線性表的鏈式存儲結構與順序存儲 發布:2025-01-22 15:32:45 瀏覽:295
解壓縮大師 發布:2025-01-22 15:26:51 瀏覽:386
xp訪問win7共享列印機無許可權 發布:2025-01-22 15:23:22 瀏覽:830
python中pandas 發布:2025-01-22 15:21:42 瀏覽:639
編程系列書 發布:2025-01-22 15:10:16 瀏覽:402