Android入门学习:GUI中的常用控件

Android入门学习:GUI的编写/布局

在上次学习了Android的基本开发环境搭建等一系列基础操作后,最近又学习了GUI的布局、控件的设计存放等。这里记录下自己的学习历程,包括以下内容:

  • 常用控件

常用控件

文本(TextView)
以下为一段文本控件的代码,使用于布局文件xml中

<TextView
    android:id="@+id/Text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="This is Text"
    android:textSize="24sp"
    android:textColor="#00ff00"
    />

对于id和控件大小的控制,上次的博客已经提过。这里text及下面的3个属性代表显示内容/字体大小/字体颜色。要使用的时候按需要调整即可。

按钮(Button)

<Button
        android:id="@+id/button"
        android:layout_width="330dp"
        android:layout_height="74dp"
        android:layout_marginTop="50dp"
        android:layout_marginLeft="50dp"
        android:text="Button" />
    />

这里虽然按钮的字体设为Button,但实际效果却是全部大写。这里写图片描述
为了矫正内容,需要添加一行属性:android:textAllCaps=”false”,这样就恢复正常了。这里写图片描述

文本框(EditText)

 <EditText
        android:id="@+id/EditText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Please input"
        android:maxLines="1"
        />
    />

这里hint属性代表预输入的文本提示这里写图片描述

maxLine代表内容最多可以显示的行数
这里写图片描述
这里的图中我输入了不止一行的内容,超过一行的之前的内容已经被滚动过去不再显示,保证了界面的干净。(若不加这行,由于这里文本的宽度设为“wrap_content”,导致输入过多内容时,文本框的宽度会随着内容的增加而增加,这显然是不美观的)。

若要获取文本框中的内容,则要先获取控件的引用(凡是要使用某个组件都得这么做) :

editText=(EditText) findViewById(R.id.EditText);   //editText为活动的成员变量
String text=editText.getText().toString();  

图片(ImageView)
在res文件下有drawable文件夹,用于存放图片图片。但图片等资源在存放的时候,最好按大小放在不同的文件夹里,便于之后适配各种分辨率的手机。这里写图片描述
故这里再新建一个文件夹:drawable-xhdpi,将符合720p手机显示规范的图片放入。附上各分辨率对应DPI:
“HVGA mdpi”
“WVGA hdpi ”
“FWVGA hdpi ”
“QHD hdpi ”
“720P xhdpi”
“1080P xxhdpi “

 <ImageView
        android:id="@+id/image1"
        android:layout_width="wrap_content"   //由于是图片,故大小设置为wrap_content不浪费空间
        android:layout_height="wrap_content"
        android:src="@drawable/img_1"       //通过src属性指定对应的图片
        />

此外,也可以在代码中改变图片指向的资源。假设已获取ImageView的引用。
ImageView.setImageResource(R.drawable.img_2);

进度条(ProgressBar)

 <ProgressBar
    android:id="@+id/progressbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />
        />

这里写图片描述
实际使用中,进度条不会一直存在于界面上,故要根据其他事件的运作来控制进度条的可见状态/属性。
这里假设已获取ProgressBar的引用。控制进度条可见状态的方法:(实际上这个方法可以还作用于其他控件)

progressBar.setVisibility(View.VISIBILE);

可以设置的可见状态包含:View.VISIBILE,View.INVISIBILE,View.GONE。
View.VISIBILE:控件可见。
View.INVISIBILE:控件不可见,但仍占用着屏幕空间,相当于空间透明化了。
View.GONE:控件不可见,且不再占用屏幕空间。

进度条还可以设置为条形风格

<ProgressBar
    android:id="@+id/progressbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    style="?android:attr/progressBarStyleHorizontal"
    android:max="100"/>  //进度条的进度最大值为100

这里举个例子,每点击一次按钮都会使进度+10,进度条增加1/10。

public class MainActivity extends AppCompatActivity {

    private EditText editText;
    private ProgressBar bar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button bt1=(Button) findViewById(R.id.button);
        editText=(EditText) findViewById(R.id.EditText);
        bar=(ProgressBar) findViewById(R.id.progressbar) ;
        bt1.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {

                int progress=bar.getProgress();
                bar.setProgress(progress+=10);

            }
        });
    }
}

效果:这里写图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值