写了一个用ViewPager来实现页面滑动的代码(也是从网上看来的代码,自己稍微修改了下),但是图片放在ImageView会自动放大(图片大小没有容器那么大),不知道有什么办法不让图片放大呢?
具体细节可参看如下:XML资源文件
主资源文件:
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/viewGroup"
android:layout_width="fill_parent"
android:layout_height="20dp"
android:gravity="center_horizontal"
android:orientation="horizontal" >
</LinearLayout> <!--android:layout_marginBottom="30dp"-->
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="fill_parent"
android:layout_height="wrap_content" /> </LinearLayout>item1.xml,item2.xml,item3.xml,item4.xml,item5.xml,item6.xml都是一样的,呵呵:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:background="@drawable/guide01" >
</ImageView></LinearLayout>
具体细节可参看如下:XML资源文件
主资源文件:
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/viewGroup"
android:layout_width="fill_parent"
android:layout_height="20dp"
android:gravity="center_horizontal"
android:orientation="horizontal" >
</LinearLayout> <!--android:layout_marginBottom="30dp"-->
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="fill_parent"
android:layout_height="wrap_content" /> </LinearLayout>item1.xml,item2.xml,item3.xml,item4.xml,item5.xml,item6.xml都是一样的,呵呵:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:background="@drawable/guide01" >
</ImageView></LinearLayout>
解决方案 »
- 在listview中动态改变ProgressBar的进度,求大侠解答!
- java.lang.UnsatisfiedLinkError: nativeConstructor,大侠help
- 更新安卓出现的一个问题
- 请问关于hashmap的问题
- 关于Android的调试的问题和adb 安装中路径带空格的问题
- 设置障碍物算法-android游戏开发连连看
- Button如何像list实现持续按键响应?
- android版的whatsapp开发接口
- Android 读取文本文件的问题
- 【求助】各大神,adnroid Appium登录场景定位分析求助
- 如何让 ImageView 反显?
- android 奇怪的问题
package com.example.myfirstapp;import java.util.ArrayList;import android.app.Activity;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.widget.ImageView;public class MainActivity extends Activity {
ViewPager viewPager;
ArrayList<View> list;
ViewGroup main, group;
ImageView imageView;
ImageView[] imageViews; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
LayoutInflater inflater = getLayoutInflater();
list = new ArrayList<View>();
list.add(inflater.inflate(R.layout.item1, null));
list.add(inflater.inflate(R.layout.item2, null));
list.add(inflater.inflate(R.layout.item3, null));
list.add(inflater.inflate(R.layout.item4, null));
list.add(inflater.inflate(R.layout.item5, null));
list.add(inflater.inflate(R.layout.item6, null)); imageViews = new ImageView[list.size()];
ViewGroup main = (ViewGroup) inflater.inflate(R.layout.activity_at_games_launcher, null);
ViewGroup group = (ViewGroup) main.findViewById(R.id.viewGroup);
viewPager = (ViewPager) main.findViewById(R.id.viewPager); for (int i = 0; i < list.size(); i++) {
imageView = new ImageView(MainActivity.this);
//imageView.setLayoutParams(new LayoutParams(10,10));
//imageView.setPadding(10, 0, 10, 0);
imageViews[i] = imageView;
if (i == 0) {
imageViews[i].setBackgroundResource(R.drawable.page_indicator_focused);
} else {
imageViews[i].setBackgroundResource(R.drawable.page_indicator);
}
group.addView(imageView);
} setContentView(main); viewPager.setAdapter(new MyAdapter());
viewPager.setOnPageChangeListener(new MyListener());
} class MyAdapter extends PagerAdapter { @Override
public int getCount() {
return list.size();
} @Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
} @Override
public int getItemPosition(Object object) {
// TODO Auto-generated method stub
return super.getItemPosition(object);
} @Override
public void destroyItem(View arg0, int arg1, Object arg2) {
// TODO Auto-generated method stub
((ViewPager) arg0).removeView(list.get(arg1));
} @Override
public Object instantiateItem(View arg0, int arg1) {
// TODO Auto-generated method stub
((ViewPager) arg0).addView(list.get(arg1));
return list.get(arg1);
} @Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
// TODO Auto-generated method stub } @Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
} @Override
public void startUpdate(View arg0) {
// TODO Auto-generated method stub } @Override
public void finishUpdate(View arg0) {
// TODO Auto-generated method stub }
} class MyListener implements OnPageChangeListener { @Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub } @Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub } @Override
public void onPageSelected(int arg0) {
for (int i = 0; i < imageViews.length; i++) {
imageViews[arg0].setBackgroundResource(R.drawable.page_indicator_focused);
if (arg0 != i) {
imageViews[i].setBackgroundResource(R.drawable.page_indicator);
}
} } }
}
放在item1~6.xml中ImageView中的图片,尺寸比屏幕小,每次显示的时候都会放大到屏幕大小,我不希望它放大,该怎么操作?
请大虾们不吝赐教!
对item1~6.xml调整成如下内容:
xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" > <ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/guide01" >
</ImageView></LinearLayout>另外,将图片从drawable-hdpi移动到drawable文件夹下。
没办法,可用分少,节约点用啊现在的新问题是,怎么在自己的程序里面调用 Google App Store(Play Store)应用程序?
我把系统安装的apk包名都打印出来了,似乎没有,请教各位大大,该怎么弄呢?
android
android.rk.RockVideoPlayer
android.rockchip.update.service
com.DeviceTest
com.adobe.flashplayer
com.android.Win8Widget
com.android.apkinstaller
com.android.backupconfirm
com.android.bluetooth
com.android.browser
com.android.calculator2
com.android.calendar
com.android.certinstaller
com.android.chrome
com.android.contacts
com.android.defcontainer
com.android.deskclock
com.android.email
com.android.exchange
com.android.facelock
com.android.galaxy4
com.android.gallery3d
com.android.htmlviewer
com.android.inputdevices
com.android.inputmethod.latin
com.android.inputmethod.pinyin
com.android.keychain
com.android.launcher
com.android.magicsmoke
com.android.music
com.android.musicfx
com.android.musicvis
com.android.noisefield
com.android.packageinstaller
com.android.phasebeam
com.android.phone
com.android.providers.applications
com.android.providers.calendar
com.android.providers.contacts
com.android.providers.downloads
com.android.providers.downloads.ui
com.android.providers.drm
com.android.providers.media
com.android.providers.partnerbooks
com.android.providers.settings
com.android.providers.telephony
com.android.providers.userdictionary
com.android.provision
com.android.quicksearchbox
com.android.rk
com.android.rk.mediafloat
com.android.rockchip.wallpaper
com.android.settings
com.android.sharedstoragebackup
com.android.smspush
com.android.soundrecorder
com.android.systemui
com.android.vending
com.android.videoeditor
com.android.vpndialogs
com.android.wallpaper
com.android.wallpaper.holospiral
com.android.wallpaper.livepicker
com.atgames.genesis
com.atgames.menu.cloud
com.atgames.menu.hal
com.atgames.menu.help
com.atgames.sms
com.example.atgameslauncher
com.example.guge
com.google.android.apps.maps
com.google.android.apps.uploader
com.google.android.backup
com.google.android.ears
com.google.android.feedback
com.google.android.gm
com.google.android.gms
com.google.android.googlequicksearchbox
com.google.android.gsf
com.google.android.gsf.login
com.google.android.location
com.google.android.marvin.talkback
com.google.android.onetimeinitializer
com.google.android.partnersetup
com.google.android.setupwizard
com.google.android.street
com.google.android.syncadapters.books
com.google.android.syncadapters.calendar
com.google.android.syncadapters.contacts
com.google.android.talk
com.google.android.tts
com.google.android.voicesearch
com.ijinshan.ShouJiKong.AndroidDaemon
com.livecirrus.newsportal
com.qihoo.appstore
com.svox.pico
jp.co.omronsoft.openwnn
但是没有找到Play Store的包名。我列举系统包的代码如下:
private void getPackageInfos() {
mPackageManager = getPackageManager();
mPackageInfoList = mPackageManager.getInstalledPackages(0);
}private void showPackageInfos() {
for (int i = 0; i < mPackageInfoList.size(); i++) {
PackageInfo pi = (PackageInfo) mPackageInfoList.get(i);
Log.v("[***PACKAGE***]", pi.packageName);
//String name = mPackageManager.getApplicationLabel(pi.applicationInfo).toString();
}
}调用代码片段为:
getPackageInfos();
showPackageInfos();
private void func() {
ComponentName componet = new ComponentName("com.android.vending", "com.android.vending.AssetBrowserActivity"); Intent i = new Intent();
i.setComponent(componet);
startActivity(i);
}
这个方法就可以启动Play Store了。
推广开来,这个方法可以启动任何一个应用,你可以从PackageManager里获取到应用的包名和主Activity的类名,把这两个参数传给ComponentName就可以了。
感谢各位的帮助,谢谢!PackageManager mPackageManager;
List<PackageInfo> mPackageInfoList;调用片段:
getPackageInfos();
showPackageInfos();实现片段:
private void getPackageInfos() {
mPackageManager = getPackageManager();
mPackageInfoList = mPackageManager.getInstalledPackages(0);
}private void showPackageInfos() {
Log.v("<AtGamesLauncher>: ", "(PACKAGE NAME LIST)");
for (int i = 0; i < mPackageInfoList.size(); i++) {
PackageInfo pi = (PackageInfo) mPackageInfoList.get(i);
Log.v("<AtGamesLauncher>: [***PACKAGE***]",
pi.packageName + ':' + getPkgMainActivityName(pi.packageName));
}
}