在开发方面,我是 Android 平台的新手。但是,我从基本视图走得更远,我想创建类似以下按钮的东西:
这就是我想要实现的。我首先认为带有自定义背景的按钮就足够了。但是,我不知道有什么方法可以用里面的文字制作那个更暗的小线。所有图像都像按钮一样反应,并在您触摸它时突出显示。
你能帮助我吗?
在开发方面,我是 Android 平台的新手。但是,我从基本视图走得更远,我想创建类似以下按钮的东西:
这就是我想要实现的。我首先认为带有自定义背景的按钮就足够了。但是,我不知道有什么方法可以用里面的文字制作那个更暗的小线。所有图像都像按钮一样反应,并在您触摸它时突出显示。
你能帮助我吗?
如果您查看Apollo 的源代码,您会发现ArtistsFragment不是由Button组成,而是由SimpleCursorAdapter类的子类创建的膨胀的 RelativeLayout。
由于任何视图都可以有一个OnClickListener ,因此您可以创建任何布局以使其看起来像您想要的那样,并且仍然让它像一个按钮一样工作:
// Or load it as an item from an existing layout.
View myView = this.getLayoutInflater().inflate(R.layout.anything);
myView.setOnClickListener(new OnClickListener(){
public void onClick(View arg0) {
// Do stuff.
}
});
每个带有图像的片段都可以是背景设置为适当图像的布局。然后,您只需将按钮放在布局内。
您必须使用Framelayout
或RelativeLayout
。例如:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="center"
android:src="@drawable/your_drawabele" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip"
android:layout_gravity="center_horizontal|bottom"
android:padding="12dip"
android:background="#AA000000"
android:textColor="#ffffffff"
android:text="your_text" />
</FrameLayout>