控制主题背景的长宽比(Android)

时间:2016-06-13 08:19:25

标签: screen drawable aspect-ratio splash

我已经为我的应用设置了一个加载屏幕(启动),通过一些建议来解释"正确的方法"这样做:

styles.xml:

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowBackground">@drawable/splash_vector_drawable</item>
</style>

清单:

<activity
        android:name="com.tba.versionc.SplashActivity"
        android:theme="@style/SplashTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>

            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>

的java:

public class SplashActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
        finish();
    }
}

当我为启动画面设计矢量drawable时,我设置它的宽高比以匹配我的手机(16:9),它似乎工作正常,但我担心运行时宽高比会发生什么在屏幕比例不同的设备上。

为了消除它“伸展”以适应&#34;错误的大小屏幕,我更喜欢它是中心裁剪,但由于它不是ImageView,甚至是布局文件的一部分,我不知道设置中心裁剪属性的任何方式。

任何?

1 个答案:

答案 0 :(得分:1)

请参阅Malcolm Hollingsworth的this指南。

基本上,您必须以特定方式修改图片,以便Android在纵横比与设备不匹配时知道您希望如何更改图片。

另一个资源是here

我希望这有帮助!