每个屏幕尺寸的Android不同margin_Top dp

时间:2017-03-11 15:58:01

标签: android

我实际上修复了50dp,即imageview。但是,当我使用不同大小的屏幕进行测试时,dimen.xml将不会处于彼此相同的位置。因此,我搜索了有关如何调整valuesdimen.xml的内容。但我不知道如何编辑,创建新的<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:layout_centerInParent="true" tools:context="com.example.mygames.MainActivity$PlaceholderFragment"> <ProgressBar android:id="@+id/circularProgressbar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="350dp" android:layout_height="750dp" android:indeterminate="false" android:max="100" android:progress="50" android:progressDrawable="@drawable/circular" android:secondaryProgress="100" android:layout_marginBottom="110dp" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <ImageView android:layout_width="150dp" android:layout_height="150dp" android:background="@drawable/whitecircle" android:id="@+id/imageView3" android:layout_alignTop="@+id/tv" android:layout_centerHorizontal="true" android:layout_marginTop="50dp" /> <TextView android:id="@+id/tv" android:layout_width="250dp" android:layout_height="250dp" android:gravity="center" android:text="25%" android:textColor="#ffffff" android:textSize="35sp" android:textStyle="bold" android:layout_marginBottom="57dp" android:layout_alignBottom="@+id/circularProgressbar" android:layout_centerHorizontal="true" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="16dp" android:textSize="20sp" android:text="Progress" /> </RelativeLayout> ,并在不同的屏幕上计算大小。

dimen.xml

我的<resources> <!-- Default screen margins, per the Android Design guidelines. --> <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> <dimen name="fab_margin">16dp</dimen> <dimen name="appbar_padding_top">8dp</dimen> </resources>

   Dim constring As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\songs.accdb"
    Using myconnection As New OleDbConnection(constring)
        myconnection.Open()
        Dim sqlQry As String = "INSERT INTO [Songs] ([Song], [Artist], [Number]) VALUES (@Song, @Artist, @Number)"
        Using cmd As New OleDbCommand(sqlQry, myconnection)
            cmd.Parameters.AddWithValue("@Song", txtsong.Text)
            cmd.Parameters.AddWithValue("@Artist", txtartist.Text)
            cmd.Parameters.AddWithValue("@Number", txtnumber.Text)
            cmd.ExecuteNonQuery()
            cmd.Dispose()
        End Using
        myconnection.Close()
    End Using

1 个答案:

答案 0 :(得分:0)

这是以不同的方式完成的。 就像您可以在文件夹layout-land中放置横向模式布局一样,您也可以将值文件(如dimens.xml)放在不同的文件夹中。 示例是在默认项目中创建的values-w820p文件夹。 -wxxxx是屏幕尺寸(适用于平板电脑等)。

因此,您只需要在不同的值文件夹中复制您的dimens.xml,每个文件夹都包含屏幕大小的值。

我不是英语,我希望你明白我的意思。

Android会自动选择最适合当前运行设备的文件。

在此处阅读资源功能:https://developer.android.com/guide/topics/resources/providing-resources.html

这是一个简单的例子:

values文件夹中的

是dimens.xml,其中包含

<dimen name="examplewidth">50dp</dimen>

现在创建一个文件夹values-mdpi并将复制 dimens.xml文件放入该文件夹。

在该副本中,您将值从50dp更改为...说20dp。 然后examplewidth将在所有设备上50dp,除了低分辨率屏幕(mdpi),它将解析为20dp。自动您不需要编写一行代码。