Yes, you can launch a separate activity using intent.
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceScreen android:title="@string/your_title"
android:summary="@string/your_string">
<intent android:targetClass="your.package.YourClass"
android:targetPackage="your.package" />
</PreferenceScreen>
</PreferenceScreen>
As long as you want to specify your own layout you would need to extend Preference class.
Use setLayoutResource() to define your layout in your constructor. Constructor needs to be
public YourClass(Context context, AttributeSet attrs) {
super(context, attrs);
setLayoutResource(R.layout.your_custom_layout);
}
You can also check this.