Kar*_*rly 6 android state background button
我一直在阅读一个教程,该教程解释了如何使用具有不同状态的按钮的背景但它似乎不起作用: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>
Run Code Online (Sandbox Code Playgroud)
这是我放在我的drawable文件夹中的xml代码,这里是使用这些按钮的活动的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" />
...
Run Code Online (Sandbox Code Playgroud)
这是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);
}
}); ....
Run Code Online (Sandbox Code Playgroud)
按钮显示效果很好但是当我按下它时它没有显示按下的图像: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" />
Run Code Online (Sandbox Code Playgroud)
但是现在我的按钮背景改变为按下的图像而没有按下它:p并且它不会改变
gob*_*dor 18
你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>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
35147 次 |
最近记录: |