【第一行代码-Android】学习(一)及在studio的迁移(2)创建活动及布局

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">(1)<strong>item的添加</strong>(以button为例)</span>

在layout目录下的相应xml文件中编写,,选择text更好。

在<linearlayout>内添加button代码:

<Button
        android:id="@+id/button_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/button_1" />
ID用以表示名字,方便引用,+表示创建;width表示宽度,height表示长度,text用来指向文本内容。

此处:1)match_parent意为沿用父元素的宽度;

    2)wrap_content表示,使容纳得下内容大小即可。另有其他引用。

则添加如图:




(2)xml文件与activity的关联

如果是手动建立的,需在activity中oncreate方法中添加setContentView()函数,括号内引用该xml文件:比如R.layout.activity_main.

   


(3)隐藏标题栏

①按书中方法添加代码:

<pre name="code" class="java">requestWindowFeature(Window.FEATURE_NO_TITLE);
 运行发现仍然不能隐藏,查询得,可添加如下代码: 

getSupportActionBar().hide();
②还可以通过style来隐藏标题栏。

1)在manifest.xml中修改style引用为:

android:theme="@style/Theme.AppCompat.NoActionBar" >

如果想实现全屏,还可以引用

2)不过整体风格颜色等也都变了,所以也可以在原来style下添加语句:

<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
第二句还能使activity全屏化。


运行发现不能生效,查询知,将main activity的java代码中继承自AppCompatActivity改为Activity,并Alt+Enter补全即可。


此时发现,最初的

requestWindowFeature(Window.FEATURE_NO_TITLE);
也可以成功运行。

最初的

getSupportActionBar().hide();
失效。

引申:activity和APPCompartActivity的区别:(……)



(4)设置item的响应事件(toast在活动中的使用)

Button button1 = (Button) findViewById(R.id.button_1);
button1.setOnClickListener(new View.OnClickListener(){
<span style="white-space:pre">	</span>@Override
        public void onClick(View view){
        <span style="white-space:pre">	</span>Toast.makeText(MainActivity.this, "You click on Button 1", Toast.LENGTH_SHORT).show();
            }
        });
findViewById用于获取布局文件中的元素;setOnClickListener为按钮注册一个监听器,点击按钮时执行监听器里的onClick方法;makeText如字面意,有三个参数,其一是context,其二是文本内容,其三是时长,包含LENGTH_SHORT和LENGTH_LONG两个选项。



(5) 在活动中使用menu菜单

①创建菜单:

1)首先在menu目录下创建一个布局文件(xml),并填写相应item:

<item
        android:id="@+id/add_item"
        android:title="Add"/>
<item
        android:id="@+id/remove_item"
        android:title="Remove"/>
2)在activity中关联:
public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.main,menu);
        return true;
    }
a) inflate()包含两个参数,其一指定关联的资源文件;其二指定菜单项添加到哪一个menu对象中。

b)return true;表示显示,若是false则不显示菜单

②添加响应

public boolean onOptionsItemSelected(MenuItem item){
        switch (item.getItemId()){
            case R.id.add_item:
                Toast.makeText(this, "You click on Add", Toast.LENGTH_SHORT).show();
            case R.id.remove_item:
                Toast.makeText(this, "You click on Remove", Toast.LENGTH_SHORT).show();
        }
        return true;
    }



(6)销毁一个activity

在程序里按下back键即销毁,或者在代码中的按钮监听器里添加finish()方法,也可点击按钮来触发响应。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值