android選中放大
A. android 如何放大imageview
1、如果只是想根據圖片的大小來改變ImageView的大小直接把ImageView的屬性設置為
android:layout_width="match_parent"
android:layout_height="wrap_content"
2、如果想要把整個ImageView放大,用 放大的動畫把你這個ImageView放大
ScaleAnimation animation =new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f,
Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
animation.setDuration(2000);//設置動畫持續時間
image.setAnimation(animation);
B. 獵豹瀏覽器安卓手機版如何使用放大鏡功能就是能放大選中的文字
您好,您可以選中您想要放大的文字,然後手動拖動就可以放大了
希望可以幫助到您~
C. android Gallery 放大至全屏怎麼做
圖片放大的思路:
第一、可以通過Matrix對象來變換圖像,在選擇的時候放大,在失去焦點的時候,縮小到原來的大小。
double scale = 1.2;
int width = bm.getWidth();
int height = bm.getHeight();
Log.i("size:", width+"");
float scaleWidth = (float)(scale*width);
float scaleHeight = (float)(scale*height);
Log.i("size:", scaleWidth+"");
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
bm = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
第二 、通過動畫
<?xml version="1.0" encoding="utf-8"?>
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:fromXScale="1"
android:toXScale="1.1"
android:fromYScale="1"
android:toYScale="1.1"
android:pivotX="50%"
android:pivotY="50%"
android:ration="500">
</scale>
第三、通過setLayoutParams
view.setLayoutParams(new Gallery.LayoutParams(150,150));
int mCounts = g.getCount() - 1;
if(position>0 && (position < mCounts)){
g.getChildAt(position - 1).setLayoutParams(new Gallery.LayoutParams(136, 88));
g.getChildAt(position + 1).setLayoutParams(new Gallery.LayoutParams(136, 88));
}
if(position == 0){
g.getChildAt(position + 1).setLayoutParams(new Gallery.LayoutParams(136, 88));
}
if(position == mCounts){
g.getChildAt(position - 1).setLayoutParams(new Gallery.LayoutParams(136, 88));
}
注釋:其中(136, 88)是gallery中圖片的大小,是在ImageAdapter裡面設置的。(150,150)是選中圖片放大後的大小,可以隨便設置,只要跟(136, 88)區別就行了,是為了觀察變化,我設置的是150而已。
第四 、通過動畫和LayoutParam結合
gallery.setOnItemSelectedListener(new OnItemSelectedListener(){
@Override
public
void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
ImageView v = (ImageView)arg1;
if(tempView != null && v.hashCode() != tempView.hashCode()){
tempView.setLayoutParams(new Gallery.LayoutParams(50,50));
}
v.startAnimation(toLarge);
tempView = v;
v.setLayoutParams(new Gallery.LayoutParams(60,60));
//
//v.setLayoutParams(new Gallery.LayoutParams(130,130));
tvName.setText(tempList.get(arg2).getPicName());
}
@Override
public
void onNothingSelected(AdapterView<?> arg0) {
tvName.setText("Nothing selected .");
}
});
D. 【Android】打造下拉放大效果
在其他App上看到了這樣的一個效果,感覺有點意思,於是決定實現一個類似的效果。
( 其實是iOS的同學在實現功能的時候隨意發揮了一下 )
效果大概值這樣子的:
UI看完後
「這個效果不錯啊」
「要不你們Android也么做?」 於是~~
作為一個有追求的程序員,決定也要實現一個這樣的效果 (滿腦子都是草泥馬在奔騰)
這樣的效果嘛~~
利用自定義的 ViewGroup ,通過對手勢的處理,應該就能實現了吧?
主要應該分兩部分:
比較麻煩的應該是在第一部分,需要對事件的分發有一些理解。
說到手勢的判斷,難免需要對事件分發進行處理。
下拉部分
1、在 onInterceptTouchEvent 中對事件進行處理,如果為下拉事件,則將該事件攔截,交給 onTouchEvent 處理;
2、在 onTouchEvent 中通過計算得到下拉的距離,然後動態改變 Header 的配置,實現放大的效果。
重置部分
在 onTouchEvent 的 ACTION_UP 中重置 Header ,實現回彈
知道思路以後,實現起來就比較簡單了
創建一個 ViewGroup (這么命名為 FlexibleLayout )繼承 LinearLayout 。
onInterceptTouchEvent的處理
先通過兩個條件判斷是否為下拉事件:
然後通過 mIsBeingDragged 來標記開始拖拽
onTouchEvent的處理
修改頭部大小
得到下拉的距離後,就可以來改變 Header 的大小,實現放大效果了。
放大、重置的部分大家可以自由發揮
這里利用 Math.pow(offsetY, 0.8) 得到實際需要增加的高度,通過計算得到對應的寬度以及偏移(類似阻尼效果)。
重置頭部
直接將寬高以及偏移設置成原來的參數即可。
(如果覺得這樣重置過程不夠絲滑,可以通過動畫來完成一個流暢的重置效果,這里就不演示了)
到這里,一個簡易拉下放大的效果就做完了。試試效果
使用
直接在需要下拉放大的布局外面套上 FlexibleLayout 即可,例如 ScrollView
效果
ScrollVIew:
RecyclerView:
CoordinatorLayout:
大功告成!!!
當然裡面還有一些細節的處理,比如下拉的條件、回彈的動畫、最大高度等,具體內容的可以在 源碼 中看到。
完成下拉放大後,貌似把一個很重要的功能遺忘了下拉刷新 ??
光顧這下拉放大,刷新怎麼辦?【黑人問號】
這個功能留著下周實現吧,我的7小時睡眠已遙遙無期~~
雖然沒有直接實現下拉刷新的功能,不過源碼中已經暴露了一個下拉的監聽,你也可以通過這個監聽實現下拉刷新的操作
到這里就結束了
(來還上周欠下的債~~)
和下拉放大類似,通過希手指下滑的監聽,利用 View 的 translationY 和 rotation 實現移動和旋轉。
具體的實現過程這里就不貼出來了,直接看效果吧
有興趣的可以直接去 Github 上看源碼以及用法。
Github
PullZoomView
Android事件分發機制 詳解攻略,您值得擁有
E. android 如何實現圖片放大剛開始顯示正常的圖片,最後要停在放大後的圖片。
ANDROID有一個放大鏡的圖標,你點擊加就放大,點擊減就縮小,或者用兩只手滑大滑小。
F. android 如何實現從一張圖片中選擇一塊區域,將該區域的小圖放大,全屏後再縮小回去。過程中要有縮放動畫。
下載個 美圖秀秀!可以任意改變圖片!
G. android中如何實現放大一個控制項而不影響其他控制項位置
有點像動畫的感覺,可以在Activity中動態控制 控制項相對於屏幕在不同情況下的位置。
這樣可以放在任意你想放的地方
H. android 如何把某個view放大
如果是顯示效果變大.可以用android里的動畫.
如果是改變了view實際上的大小,可以得到layoutParams以後,重新設置寬高,再放回去.
I. android想要利用多點觸控放大或者縮小一個view該怎麼實現
放大縮小view方法有很多。
1.animation,在xml里寫出動畫,讓他放大,然後不恢復。
2.如果是個imageview(圖片),可以將他的一個屬性設置為這樣android:scaleType="matrix",然後在代碼里操作這個矩陣。獲得放大縮小的效果。
3.如果是自定義的view,在canvas里放大縮小就很容易了
多點觸控,就是重寫onTouchEvent(MotionEvent event){}