Вы должны на самом деле стараться не усложнять это, думая обо всех размерах экрана, плотности и тому подобном.
Вы говорите, что хотите, чтобы ваша кнопка занимала 75% экрана.
Хорошо, поместите его в LinearLayout примерно так:
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent
android:orientation="horizontal">
<My75PercentButton
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight="75">
<View
android:layout_width="0px"
android:layout_height="match_parent"
android:layout_weight="25">
</LinearLayout>
Это позволяет двум представлениям иметь ширину 0, но после этого распределяет 75% доступного для них пространства в первом и 25% во втором.
Если вы хотите, чтобы ваша кнопка растягивалась, чтобы заполнить это пространство (вместо того, чтобы просто оставлять пустые отступы вокруг нее), сделайте 9-патч.
Вам также понадобится поддерживать различные плотности экрана, поэтому предоставьте разный размер изображения для вашей кнопки в drawable-ldpi, drawable-mdpi и drawable-hdpi.
Но я действительно предупреждаю: попытка втолкнуть себя в мир, в котором вы разрабатываете свою графику для экранов различных размеров, в конечном итоге окажется в огромном мире боли. Вы действительно не хотите этого делать. Устройства Android уже имеют много размеров экрана; это только увеличится очень в будущем. Если вы воспользуетесь менеджерами компоновки и другими подобными средствами для настройки фактического размера экрана, ваше приложение будет хорошо работать на всех этих экранах практически без каких-либо усилий с вашей стороны. Если вы попытаетесь спроектировать вашу графику для экрана определенного размера, вы будете делать это снова и снова, пока не выдержите.