我似乎无法让我的代码工作。我一直收到错误。
我使用此代码
创建了一个selector.xml<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:drawable="@drawable/loginbuttondn" />
<item android:state_selected="false"
android:drawable="@drawable/loginbutton" />
</selector>
继承我的实际代码
package monaiz.net.periscope.periscope;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.MotionEvent;
import android.view.View.OnTouchListener;
public class MainActivity extends AppCompatActivity implements OnTouchListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
v.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
v.setSelected(arg1.getAction()==MotionEvent.ACTION_DOWN);
return true;
}
});
}
return true;
}
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
我试图得到它,以便当我点击按钮时,它有一个显示另一个图像的点击效果
我在这里收到错误:
我仍然在这一行v.setSelected(arg1.getAction()==MotionEvent.ACTION_DOWN);
在“v。”
上我按钮的代码
<ImageView
android:layout_width="280dp"
android:layout_height="90dp"
android:layout_marginTop="830px"
android:layout_marginLeft="55dp"
android:src="@drawable/loginbutton"/>
答案 0 :(得分:0)
使用state_pressed
:
抽拉/ selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/loginbuttondn" />
<item
android:drawable="@drawable/loginbutton" />
</selector>
<Button
android:layout_width="280dp"
android:layout_height="90dp"
android:background="@drawable/selector"/>
答案 1 :(得分:0)
您的选择器需要如下所示:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/loginbuttondn" />
<item android:drawable="@drawable/loginbutton" />
</selector>
调用此login_button_selector.xml并将其放入/ res / drawable文件夹中 现在使用它:
<ImageView
android:layout_width="280dp"
android:layout_height="90dp"
android:layout_marginTop="830px"
android:layout_marginLeft="55dp"
android:src="@drawable/login_button_selector"/>
当视图处于&#34;按下时#34; state,它将匹配选择器中的第一个项目。当它不在&#34;按下&#34;状态,它将匹配选择器中的第二个项目。