Каталог статей
В категории материалов: 3 Показано материалов: 1-3 |
|
Сортировать по:
Дате ·
Названию ·
Рейтингу ·
Комментариям ·
Просмотрам
Градиент public void gradient(Graphics g, int red1, int green1, int blue1, int red2, int green2, int blue2, int x_grad, int y_grad, int w_grad, int h_grad) {
redstep = (float) (red2 - red1) / (float) (h_grad);
greenstep = (float) (green2 - green1) / (float) (h_grad);
bluestep = (float) (blue2 - blue1) / (float) (h_grad);
for (int i = 0; i < h_grad + 1; i++) {
g.setColor((int) (red1 + redstep * i), (int) (green1 + greenstep * i), (int) (blue1 + bluestep * i));
g.drawLine(x_grad, y_grad + i, w_grad, y_grad + i);
}
} |
Graphics g - на чем рисуем int red1 , int green1, int blue1 - первый цвет int red2, int green2, int blue2 - второй int x_grad, int y_grad, int w_grad, int h_grad - координаты
Масштабируемый TextView (Android) package com.annimon.widget;
public class ZoomingTextView extends TextView {
private static final int DEFAULT_TEXT_SIZE = 18;
private static final int MINIMAL_TEXT_SIZE = 6, MAXIMAL_TEXT_SIZE = 50;
private static final float MIN_SCALE = MINIMAL_TEXT_SIZE / (float) DEFAULT_TEXT_SIZE;
private static final float MAX_SCALE = MAXIMAL_TEXT_SIZE / (float) DEFAULT_TEXT_SIZE;
private ScaleGestureDetector scaleDetector;
private float scaleFactor;
public ZoomingTextView(Context context) {
super(context);
init(context);
}
public ZoomingTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public ZoomingTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init(context);
}
private void init(Context context) {
scaleDetector = new ScaleGestureDetector(context, new ScaleListener());
scaleFactor = 1.0f;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
scaleDetector.onTouchEvent(event);
return super.onTouchEvent(event);
}
private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
@Override
public boolean onScale(ScaleGestureDetector detector) {
scaleFactor *= detector.getScaleFactor();
scaleFactor = Math.max(MIN_SCALE, Math.min(scaleFactor, MAX_SCALE));
final int textSize = (int) (scaleFactor * DEFAULT_TEXT_SIZE);
setTextSize(textSize);
return true;
}
}
}
|
Данный виджет позволяет масштабировать текст в TextView. По такому же принципу можно сделать масштабируемым любой другой виджет. В layout.xml заменить TextView на com.annimon.widget.ZoomingTextView, а в главный Layout дописать xmlns:app="http://schemas.android.com/apk/res-auto". Пример:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<com.annimon.widget.ZoomingTextView
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
|
Проверка наличия связи с Internet (Android) ConnectivityManager connManager =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo nInfo = connManager.getActiveNetworkInfo();
if (nInfo == null || !nInfo.isConnected()) {
// not connected
} else {
// connected
}
|
|
Раз пример:
10 if up(0) then a%=a%+1
20 if a%>4 then a%=1
30 if a%=1 then spritegel "hero","1"
40 if a%=2 then spritegel "hero","2"
50 if a%=3 then spritegel "hero","3"
60 if a%=4 then spritegel "hero","4"
70 if up(0) then y%=y%-1
80 spritemove "hero",x%,y%
90 goto 10
движение очень проста.Когда вы нажимаете вверх,то a% прибавляется +1,а это значит что если a%=1,то высветится первая картинка,если a%=2 то уже следующия и.т.д. Говорю для чайников:Если что вначале вы должны загрузить картинки путем команды
gelload "gel$","gelfile$"
Два:
1 nap%=0:wag%=0
110 for i%=0 to 15
111 gelload str$(i%),str$(i%)+".png"
113 next i%
114 spritegel "a","0"
115 spritemove "a",100,100
150 if up(0) then nap%=0:wag%=wag%+1
151 if right(0) then nap%=1:wag%=wag%+1
152 if down(0) then nap%=2:wag%=wag%+1
153 if left(0) then nap%=3:wag%=wag%+1
154 if fire(0) then stop
155 if wag%=4 then wag%=0
156 spritegel "a",str$(nap%*4+wag%)
157 sleep 300
158 goto 150
Программа анимации движения в 4 стороны
Спрайты: 0.png 1.png 2.png 3.png - движение вверх 4.png 5.png 6.png 7.png - движение вправо 8.png 9.png 10.png 11.png - движение вниз 12.png 13.png 14.png 15.png - движение влево
Три:
10 cls
20 gelload "a","a.gif"
30 drawgel "a",0,0
40 gelload "t","t.gif"
50 spritegel "t","t":x%=64:y%=100
60 spritemove "t",x%,y%
70 if left(0) then x%=x%+1
80 if right(0) then y%=y%-1
90 goto 60
кому надо забераем. |
from urllib2 import urlopen u = urlopen("http://python.org") words = {} # (словарь — неупорядоченный [[ассоциативный массив]]) for line in u: # читаем u по строкам line = line.strip(" \n") # отбрасываем начальные и конечные пробелы for word in line.split(" "): # режем каждую строку на слова, ограниченные пробелами try: # блок обработки исключений words[word] += 1 # пытаемся увеличить words[word] на единицу except KeyError: # если не получилось (раньше words [word] не было) words[word] = 1 pairs = words.items() # делаем из словаря список пар # pairs == [("яблоко",5), ("апельсин",12), ("груша",8)] pairs.sort(key=lambda x: x[1], reverse=True) for p in pairs[:10]: print p[0], p[1] вот простенький пример, думаю кому надо пойдет и использует |
|
|