gpt4 book ai didi

android - 按下安卓按钮状态

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:25:27 25 4
gpt4 key购买 nike

我一直在关注一个教程,该教程解释了如何为具有不同状态的按钮使用背景,但它似乎不起作用:S

这是我的代码:

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/boutonn" android:state_window_focused="false"/>
<item android:drawable="@drawable/boutonnpousse" android:state_pressed="true"/>
<item android:drawable="@drawable/boutonnpousse" android:state_focused="true"/>
<item android:drawable="@drawable/boutonn" android:state_focused="false"
android:state_pressed="false" />

</selector>

这是我放在可绘制文件夹中的 xml 代码,这是使用这些按钮的 Activity 的 xml 的一部分:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/backgrounddd"
android:orientation="vertical" >

<Button
android:id="@+id/bNoteRemind"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:background="@drawable/imagebutton1" />
...

这是 java 类:

public class MenuPrincipal extends Activity {

Button NoteRemind;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

//on lui associe le layout menuprincipal.xml
setContentView(R.layout.menuprincipal);

NoteRemind = (Button) findViewById(R.id.bNoteRemind);

// Si on choisit de rédiger une nouvelle task on va être rediriger sur l'activité NoteReminder

NoteRemind.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub

//On créé l'Intent qui va nous permettre d'afficher l'autre Activity
//Mettez le nom de l'Activity dans la quelle vous êtes actuellement pour le premier parametre
v.setPressed(true);

Intent intent = new Intent(MenuPrincipal.this, NoteReminder.class);
//Intent intent = new Intent(MenuPrincipal.this, Teste2.class);
//On démarre l'autre Activity
startActivity(intent);


}
}); ....

该按钮显示良好,但当我按下它时它不显示按下的图像:s 我不明白我做错了什么!

有人在某处看到错误吗???


我应该把这些线放在哪里?我把它们放在我的按钮 xml 中

    <Button
android:id="@+id/bNoteRemind"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:background="@drawable/imagebutton1"
android:focusable="true"
android:focusableInTouchMode="true" />

但是现在我的按钮背景变成了按下的图像而我没有按下它 :p 并且它没有改变

最佳答案

Button 是您在 Activity 中唯一显示的东西吗?如果是这样,那么它将在窗口加载时获得焦点(触发 selector 中的第三项),并且您将无法离开它。如果您只想在按下时更改,请删除第三行。当你这样做时,删除第一行,因为当窗口未获得焦点时永远不会按下按钮。

事实上,我建议这样的代码:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/boutonnpousse" android:state_pressed="true"/>
<item android:drawable="@drawable/boutonn"/>
</selector>

关于android - 按下安卓按钮状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10019367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com