设为首页 加入收藏

TOP

安卓应用的界面编程(4)(一)
2017-10-12 11:34:47 】 浏览:5460
Tags:安卓 应用 界面 编程

第三组UI组件:ImageView及其子类

 

主要功能是显示图片,任何Drawable对象都可使用ImageView来显示。

 

1.图片浏览器

下面的图片浏览器可以改变所查看图片的透明度,可通过调用ImageView的setImageAlpha()方法实现。还可以通过一个小区域查看图片的原始大小。(两个ImageView)

下面是布局文件

 1     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2         android:orientation="vertical"
 3         android:layout_width="match_parent"
 4         android:layout_height="match_parent">
 5         <TextView
 6             android:layout_width="match_parent"
 7             android:layout_height="wrap_content"
 8             android:layout_marginTop="120px"/>
 9         <LinearLayout
10             android:orientation="horizontal"
11             android:layout_width="match_parent"
12             android:layout_height="wrap_content"
13             android:gravity="center">
14             <Button
15                 android:layout_width="wrap_content"
16                 android:layout_height="wrap_content"
17                 android:text="增大透明度"
18                 android:id="@+id/plus"/>
19             <Button
20                 android:layout_width="wrap_content"
21                 android:layout_height="wrap_content"
22                 android:text="降低透明度"
23                 android:id="@+id/minus"/>
24             <Button
25                 android:layout_width="wrap_content"
26                 android:layout_height="wrap_content"
27                 android:text="下一张"
28                 android:id="@+id/next"/>
29         </LinearLayout>
30         <!-- 定义显示图片整体的ImageView -->
31         <!-- 指定android:scaleType="fitCenter"表明 -->
32         <!-- ImageView显示图片时会保持纵横比缩放,并将缩放后的图片放在该ImageView的中央-->
33         <ImageView
34             android:id="@+id/image1"
35             android:layout_width="wrap_content"
36             android:layout_height="280dp"
37             android:src="@drawable/five"
38             android:scaleType="fitCenter"/>
39         <!-- 定义显示图片局部细节的ImageView -->
40         <ImageView
41             android:id="@+id/image2"
42             android:layout_width="120dp"
43             android:layout_height="120dp"
44             android:background="#00f"
45             android:layout_margin="10dp"/>
46     </LinearLayout>
View Code

为了能动态改变图片的透明度,要为按钮编写事件监听器,当用户单击按钮时动态改变图片的Alpha值。

为了能动态显示图片局部细节,程序为第一个ImageView添加OnTouchListener监听器,

用户在第一个ImageView上发生触摸事件时,程序从原始图片中读取相应部分的图片并显示在第二个ImageView中

下面是java代码及运行截图,但是最后一张图片的时候点击图片会闪退。。原因不明也没有调试信息。。

 1 public class MainActivity extends AppCompatActivity {
 2 
 3     //定义一个访问图片的数组
 4     int[] images = new int[]{
 5             R.drawable.one,
 6             R.drawable.two,
 7             R.drawable.three,
 8             R.drawable.four,
 9             R.drawable.five,
10     };
11     //定义默认显示的图片
12     int currentImg = 4;
13     //定义图片的初始透明度
14     private int alpha = 255;
15     @Override
16     protected void onCreate(Bundle savedInstanceState) {
17         super.onCreate(savedInstanceState);
18         setContentView(R.layout.activity_main);
19         final Button plus=(Button)findViewById(R.id.plus);
20         final Button minus=(Button)findViewById(R.id.minus);
21         final Button next=(Button)findViewById(R.id.next);
22         final ImageView image1=(ImageView)findViewById(R.id.image1);
23         final ImageView image2=(ImageView)findViewById(R.id.image2);
24         //定义查看下一张图片的监听器
25         n
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Gradle Android客户端程序打包(.. 下一篇android listview多视图嵌套多视图

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目